symtabAPI: don't free cuDIE in parseLineInfoForCU (#47)
authorJosh Stone <cuviper@gmail.com>
Fri, 13 May 2016 19:59:59 +0000 (15:59 -0400)
committerBill Williams <wwilliam47@gmail.com>
Fri, 13 May 2016 19:59:59 +0000 (14:59 -0500)
commit936a1e87981961b356e1e20770afadda3af9a337
treef57aac0f956357b8ee555850bcb90faaf28a35ad
parentdcc8b8b291e593ede748dcc7155ff6c197da03fb
symtabAPI: don't free cuDIE in parseLineInfoForCU (#47)

The cuDIE in parseLineInfoForCU is a parameter, so it shouldn't act like
it owns this.  But it was calling dwarf_dealloc when that CU had no line
info, which led to a double-free crash when the callers tried to free
that cuDIE itself.  Just return and let the proper owner do it.

The double-free was easily reproducible on Fedora 23 x86_64, test1_30.
symtabAPI/src/Object-elf.C