[binutils-gdb] asan: unwind-ia64.c: stack buffer overflow
Alan Modra
amodra@sourceware.org
Sun Feb 7 04:28:00 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=de8d4203109ae04c05a716c1afb2d5a487e9b1fe
commit de8d4203109ae04c05a716c1afb2d5a487e9b1fe
Author: Alan Modra <amodra@gmail.com>
Date: Sun Feb 7 13:23:34 2021 +1030
asan: unwind-ia64.c: stack buffer overflow
Printing "invalid" is better than printing an uninitialised buffer
and occasionally running off the end of the buffer.
* unwind-ia64.c (unw_print_xyreg): Don't leave output buffer
uninitialised on invalid input.
Diff:
---
binutils/ChangeLog | 5 +++++
binutils/unwind-ia64.c | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 23a8d8eafaf..69150272843 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2021-02-07 Alan Modra <amodra@gmail.com>
+
+ * unwind-ia64.c (unw_print_xyreg): Don't leave output buffer
+ uninitialised on invalid input.
+
2021-02-06 Alan Modra <amodra@gmail.com>
PR 27349
diff --git a/binutils/unwind-ia64.c b/binutils/unwind-ia64.c
index 6eef917a6a9..fb22f3fd54f 100644
--- a/binutils/unwind-ia64.c
+++ b/binutils/unwind-ia64.c
@@ -156,6 +156,10 @@ unw_print_xyreg (char *cp, unsigned int x, unsigned int ytreg)
case 2: /* br */
sprintf (cp, "b%u", (ytreg & 0x1f));
break;
+
+ default:
+ strcpy (cp, "invalid");
+ break;
}
}
More information about the Binutils-cvs
mailing list