aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/macro.c4
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)