[PATCH] objtool: fix segfault when missing '.shstrtab' section

From: emersion
Date: Fri Dec 29 2017 - 17:52:02 EST


This segfault happens when an input file provided to 'objtool orc
generate' doesn't have a '.shstrtab' section (for instance, object
files produced by clang don't have this section).

Signed-off-by: Simon Ser <contact@xxxxxxxxxxx>
---
tools/objtool/orc_gen.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/objtool/orc_gen.c b/tools/objtool/orc_gen.c
index e5ca31429..188f18185 100644
--- a/tools/objtool/orc_gen.c
+++ b/tools/objtool/orc_gen.c
@@ -165,7 +165,8 @@ int create_orc_sections(struct objtool_file *file)

/* create .orc_unwind_ip and .rela.orc_unwind_ip sections */
sec = elf_create_section(file->elf, ".orc_unwind_ip", sizeof(int), idx);
-
+ if (!sec)
+ return -1;
ip_relasec = elf_create_rela_section(file->elf, sec);
if (!ip_relasec)
return -1;
--
2.15.1