lkml.org 
[lkml]   [2012]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 05/16] perf symbol: don't try to synthesize plt without dynstr.
Date
If .dynsym exists but .dynstr is empty (NO_BITS or size==0), a segfault
occurs. Avoid this by checking that .dynstr is not empty.

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
---
tools/perf/util/symbol.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 254d4d8..8ae159a 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1077,6 +1077,9 @@ dso__synthesize_plt_symbols(struct dso *dso, char *name, struct map *map,
if (symstrs == NULL)
goto out_elf_end;

+ if (symstrs->d_size == 0)
+ goto out_elf_end;
+
nr_rel_entries = shdr_rel_plt.sh_size / shdr_rel_plt.sh_entsize;
plt_offset = shdr_plt.sh_offset;

--
1.7.11.3


\
 
 \ /
  Last update: 2012-08-10 00:41    [W:0.140 / U:0.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site