|
From: <sv...@va...> - 2013-10-14 12:02:23
|
Author: sewardj
Date: Mon Oct 14 12:02:15 2013
New Revision: 13640
Log:
Fix "Assertion '!di->soname' failed" on weird files.
Fixes #320661. (Jiří Hruška, ji...@fu...)
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
==============================================================================
--- trunk/coregrind/m_debuginfo/readelf.c (original)
+++ trunk/coregrind/m_debuginfo/readelf.c Mon Oct 14 12:02:15 2013
@@ -1654,6 +1654,13 @@
if (!loaded) {
ML_(symerr)(di, False,
"ELF section outside all mapped regions");
+ /* This problem might be solved by further memory mappings.
+ Avoid the vg_assert(!di->soname) at the beginning of this
+ function if DYNAMIC section has been already processed. */
+ if (di->soname) {
+ ML_(dinfo_free)(di->soname);
+ di->soname = NULL;
+ }
goto out;
}
}
|