mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-09 05:28:09 +08:00
refs #572 getStackTrace: Fixed segfault on Linux caused by trying to use a QStringBuilder after the temporaries it referred to had been destroyed.
This commit is contained in:
@@ -92,10 +92,16 @@ namespace BlackMisc
|
||||
|
||||
demangled = abi::__cxa_demangle(QByteArray(symbol, symbolEnd - symbol).constData(), demangled, &size, nullptr);
|
||||
|
||||
auto details = '(' % QLatin1String(basename, basenameEnd - basename) % ' ' % QLatin1String(symbol, end - symbol) % ')';
|
||||
result.push_back(demangled ? QLatin1String(demangled) % ' ' % details : QString(details));
|
||||
|
||||
if (! demangled) { demangled = temp; }
|
||||
if (demangled)
|
||||
{
|
||||
result.push_back(QLatin1String(demangled) % ' ' %
|
||||
'(' % QLatin1String(basename, basenameEnd - basename) % ' ' % QLatin1String(symbol, end - symbol) % ')');
|
||||
}
|
||||
else
|
||||
{
|
||||
result.push_back('(' % QLatin1String(basename, basenameEnd - basename) % ' ' % QLatin1String(symbol, end - symbol) % ')');
|
||||
demangled = temp;
|
||||
}
|
||||
}
|
||||
free(symbols);
|
||||
free(demangled);
|
||||
|
||||
Reference in New Issue
Block a user