[binutils-gdb] macro.c:871 heap-buffer-overflow
Alan Modra
amodra@sourceware.org
Wed Dec 25 22:57:08 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6d9b7667974372357fed1f02c54a805f8c21dcde
commit 6d9b7667974372357fed1f02c54a805f8c21dcde
Author: Alan Modra <amodra@gmail.com>
Date: Thu Dec 26 07:19:24 2024 +1030
macro.c:871 heap-buffer-overflow
PR 32391 commit 9f2e3c21f6 fallout again. Also fix another 'macro'
may be used uninitialized.
Diff:
---
gas/macro.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gas/macro.c b/gas/macro.c
index 3d5a9f14341..ded0645be8d 100644
--- a/gas/macro.c
+++ b/gas/macro.c
@@ -868,7 +868,7 @@ sub_actual (size_t start, sb *in, sb *t, struct htab *formal_hash,
/* The parent's FORMALs might contain parameters that need further
substitution. See gas/testsuite/gas/arm/macro-vld1.s for an
example of this. */
- if (strchr (add->ptr, '\\'))
+ if (memchr (add->ptr, '\\', add->len))
{
sb newadd;
@@ -1485,7 +1485,7 @@ delete_macro (const char *name)
}
}
- if (macro == NULL)
+ if (j < 0)
as_warn (_("Attempt to purge non-existing macro `%s'"), copy);
free (copy);
More information about the Binutils-cvs
mailing list