aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1999-11-12 11:02:56 +0000
committerNick Clifton <nickc@redhat.com>1999-11-12 11:02:56 +0000
commit035349a40dd7d6fde2cb6176dcf229a09f9087b3 (patch)
tree5d0518ecd9663e70b087e4a71c2c9a57ac94f258
parentc1eae11499c60c61b6aaa5fa5e316613dcb0b6ad (diff)
downloadgdb-035349a40dd7d6fde2cb6176dcf229a09f9087b3.zip
gdb-035349a40dd7d6fde2cb6176dcf229a09f9087b3.tar.gz
gdb-035349a40dd7d6fde2cb6176dcf229a09f9087b3.tar.bz2
do not look beyond the end of the buffer
-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)