diff options
Diffstat (limited to 'demangler/gnu3/demangle_gnu3.cpp')
| -rw-r--r-- | demangler/gnu3/demangle_gnu3.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/demangler/gnu3/demangle_gnu3.cpp b/demangler/gnu3/demangle_gnu3.cpp index 28ab0f2b..d020ed72 100644 --- a/demangler/gnu3/demangle_gnu3.cpp +++ b/demangler/gnu3/demangle_gnu3.cpp @@ -2180,7 +2180,10 @@ TypeBuilder DemangleGNU3::DemangleSymbol(QualifiedName& varName) else if (ext == ".eh_frame") ext = "exception handler frame"; else if (ext == ".eh_frame_hdr") ext = "exception handler frame header"; else if (ext == ".debug_frame") ext = "debug frame"; - varName.back() += ext; + + // On the off chance some invalid mangled string is passed in. + if (varName.size() > 0) + varName.back() += ext; break; } |
