mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-05 01:35:45 +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);
|
demangled = abi::__cxa_demangle(QByteArray(symbol, symbolEnd - symbol).constData(), demangled, &size, nullptr);
|
||||||
|
|
||||||
auto details = '(' % QLatin1String(basename, basenameEnd - basename) % ' ' % QLatin1String(symbol, end - symbol) % ')';
|
if (demangled)
|
||||||
result.push_back(demangled ? QLatin1String(demangled) % ' ' % details : QString(details));
|
{
|
||||||
|
result.push_back(QLatin1String(demangled) % ' ' %
|
||||||
if (! demangled) { demangled = temp; }
|
'(' % 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(symbols);
|
||||||
free(demangled);
|
free(demangled);
|
||||||
|
|||||||
Reference in New Issue
Block a user