diff --git a/gas/ChangeLog b/gas/ChangeLog index 62002ebcc9..72f3ab3fb0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +1999-11-12 Nick Clifton + + * macro.c (buffer_and_nest): Do not check beyond the end of the + buffer. + 1999-11-11 Nick Clifton * macro.c (buffer_and_nest): Look for seperator after TO and diff --git a/gas/macro.c b/gas/macro.c index 2ef4cb400f..1c33de3a22 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -246,10 +246,10 @@ buffer_and_nest (from, to, ptr, get_line) if (ptr->ptr[i] == '.') i++; if (strncasecmp (ptr->ptr + i, from, from_len) == 0 - && ! isalnum (ptr->ptr[i + from_len])) + && (ptr->len == (i + from_len || ! isalnum (ptr->ptr[i + from_len])))) depth++; if (strncasecmp (ptr->ptr + i, to, to_len) == 0 - && ! isalnum (ptr->ptr[i + to_len])) + && (ptr->len == (i + to_len) || ! isalnum (ptr->ptr[i + to_len]))) { depth--; if (depth == 0)