From 1ac6620a52ced600f617eb7018899f7a67cc6d83 Mon Sep 17 00:00:00 2001 From: Denis Khalikov Date: Thu, 21 Jun 2018 05:42:53 +0000 Subject: [PATCH] re PR other/86198 (Libbacktrace does not properly work with ".note.gnu.build-id" section) libbacktrace/ 2018-06-21 Denis Khalikov PR other/86198 * elf.c (elf_add): Increase ".note.gnu.build-id" section size checking up to 36 bytes. From-SVN: r261832 --- libbacktrace/ChangeLog | 6 ++++++ libbacktrace/elf.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index c01c7d826a9..0c86e0c9d16 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,9 @@ +2018-06-21 Denis Khalikov + + PR other/86198 + * elf.c (elf_add): Increase ".note.gnu.build-id" section size + checking up to 36 bytes. + 2018-04-24 H.J. Lu * configure: Regenerated. diff --git a/libbacktrace/elf.c b/libbacktrace/elf.c index 0fd5e6f9d0d..f4863f0bea5 100644 --- a/libbacktrace/elf.c +++ b/libbacktrace/elf.c @@ -2868,7 +2868,7 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor, if (note->type == NT_GNU_BUILD_ID && note->namesz == 4 && strncmp (note->name, "GNU", 4) == 0 - && shdr->sh_size < 12 + ((note->namesz + 3) & ~ 3) + note->descsz) + && shdr->sh_size <= 12 + ((note->namesz + 3) & ~ 3) + note->descsz) { buildid_data = ¬e->name[0] + ((note->namesz + 3) & ~ 3); buildid_size = note->descsz; -- 2.30.2