summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2018-06-05 21:04:05 +0200
committerMark Wielaard <[email protected]>2018-06-08 12:03:14 +0200
commit8e2728833042eb4e01e52284a764b122920ca9cc (patch)
tree4ccef2478244967cd1055f8e7d9e065fb890716e /src
parent896ae943edacf29bac67958257ecd085608a331e (diff)
readelf: Make room for DW_MACRO_hi_user opcode if used.
The vendor array should have room for all vendor opcode, including DW_MACRO_hi_user if used. Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/readelf.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d6fc919a..83c85327 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2018-06-05 Mark Wielaard <[email protected]>
+
+ * readelf.c (print_debug_macro_section): Extend vendor array by one
+ to include max DW_MACRO_hi_user opcode.
+
2018-06-07 Mark Wielaard <[email protected]>
* readelf.c (main): Lookup "no" for no_str.
diff --git a/src/readelf.c b/src/readelf.c
index 6ac45111..11a9b0e7 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -9721,7 +9721,7 @@ print_debug_macro_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
? cu->die.cu
: NULL));
- const unsigned char *vendor[DW_MACRO_hi_user - DW_MACRO_lo_user];
+ const unsigned char *vendor[DW_MACRO_hi_user - DW_MACRO_lo_user + 1];
memset (vendor, 0, sizeof vendor);
if (flag & 0x04)
{