From 229871c6966c49c512f7343b282606d1327393cf Mon Sep 17 00:00:00 2001 From: Alexander Richardson Date: Fri, 22 Sep 2017 09:30:40 +0000 Subject: [PATCH] [obj2yaml] Don't crash for input files without symbol table Summary: Previously we would dereference Symtab without checking for null. Reviewers: davide, atanasyan, rafael Reviewed By: davide, atanasyan Differential Revision: https://reviews.llvm.org/D38080 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313970 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/tools/obj2yaml/Inputs/crt1.o | Bin 0 -> 2712 bytes test/tools/obj2yaml/missing_symtab.test | 5 +++++ tools/obj2yaml/elf2yaml.cpp | 2 ++ 3 files changed, 7 insertions(+) create mode 100755 test/tools/obj2yaml/Inputs/crt1.o create mode 100644 test/tools/obj2yaml/missing_symtab.test diff --git a/test/tools/obj2yaml/Inputs/crt1.o b/test/tools/obj2yaml/Inputs/crt1.o new file mode 100755 index 0000000000000000000000000000000000000000..2b000ab9ae836ec8aebb7dccf4467bfee2d4c381 GIT binary patch literal 2712 zcmbVN&2Jk;6o0!;+D!jeod=j;AX6m|7XhATFlm1Y%I-WsybKd0_r5@#1u!!N>CFYSzXxL^j{^+T zZqI|n<)_4%>`4~C=RYLb#E$i!yF&7Xf6(5^_12 zh_U?<8MFjE!GL_jvOz4Fkt-lR+lbGbh))^uDfr)m=HEuVZXsUZ{Wo5)vyp(_)dbaw z*c4!6GvGxIdj|Ws*6#(fN*bg|AF*A77nBr8Hx6Lp#^`tt&QKlpS^OE_f?cdP{XEDR zFThN`fIYFpo~l2CB>$wmGQs>mtJgpgxhRJB70;E4=IR~5lfBXL4W8>M%C!l*pG0z% zBe`y4u3J1;7nIn}ZwYT3bKv}VI7c4h;~`ES;^iT39^&UAjvnF}+XJO`2NsXa-%Xsq zZHyI}J(@AX5wSs>rhSM_ufdCi)5ZbF8>8dUpCyPZ`*0rTRrmLI@yD~#4 zv*7<-MSU0>Ub}*|$Fa^Stdn7#NnWQ0GYcKZnO}OX#8w>BPB-dSy3)OvZr0n~bfx3! z%UyMe8TxFdkYR?V>nTl7>BweEnpQH55820ci{XWz7^k9En32utnIKMv;%Ku>pDpDI zC1X~^5n*Nq0cW7nFjs5rlGEwdTdORuYO2PPE3Vt_meT23-Cen8sg+hU-Dq5DrkeFm zr`1UZJ}N3%HIp|AxqLojWlSTRH#I9;C>9E4&MaC*%Q3Q=QM9s#bMC~L6h8==t6Ehn zS14vP=&$GPVzsKz=8Hw!bZk58=q937&DptgbSuXae$x2teEJ?pm#3w%v1jQx#TW5{ z5Zq%)L(OxzrjM~$JV77!r}uaWm&7Lmzm<2t!LyLd133y0X^0-j*x|YVrc24bF{IQ?tr@5avjw*Yba~k zrfaGgN>_DmLK0Bld24Y=HLZHJVb(BKaBQ_*9Hs8jYW|Oe?or~7!Mhy_QttDy4?;3x z$w$y*$Pn&C<=}Vl6WbcFeMaP=J0YTZp%+xh={`dw{H5iPkXT_)`$wU3_#ROlJjJ;8 z|6hsW6t16UPt+6j7j{DbZ~pX^hkuiNA$KW?yCW8=(`w{gJeg#}2 zf5?>Bf&YbwLgXWH2A4RONpMKRy+c0WL|(B|{#S9G=62Ekdt4svU*se88@NRM2Dj(i z@O{n*y- ErrorOr ELFDumper::dump() { } // Dump symbols + if (!Symtab) + return Y.release(); // if the symbol table is missing return early auto StrTableOrErr = Obj.getStringTableForSymtab(*Symtab); if (!StrTableOrErr) return errorToErrorCode(StrTableOrErr.takeError()); -- 2.40.0