diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/macro.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 62002eb..72f3ab3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +1999-11-12 Nick Clifton <nickc@cygnus.com> + + * macro.c (buffer_and_nest): Do not check beyond the end of the + buffer. + 1999-11-11 Nick Clifton <nickc@cygnus.com> * macro.c (buffer_and_nest): Look for seperator after TO and diff --git a/gas/macro.c b/gas/macro.c index 2ef4cb4..1c33de3 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) |