From: Alan Modra Date: Wed, 25 Dec 2024 20:49:24 +0000 (+1030) Subject: macro.c:871 heap-buffer-overflow X-Git-Tag: gdb-16-branchpoint~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6d9b7667974372357fed1f02c54a805f8c21dcde;p=thirdparty%2Fbinutils-gdb.git macro.c:871 heap-buffer-overflow PR 32391 commit 9f2e3c21f6 fallout again. Also fix another 'macro' may be used uninitialized. --- 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);