Skip to content
Snippets Groups Projects
Commit 8a3e02a9 authored by dt's avatar dt
Browse files

Fix allocating potential far too much memory in the debugger.

Beware of negative sizes.
parent 75ade294
No related branches found
No related tags found
No related merge requests found
......@@ -709,8 +709,9 @@ int CdbSymbolGroupContext::dumpQString(CIDebugDataSpaces *ds, WatchData *wd)
if (truncated)
size = maxLength;
const QChar doubleQuote = QLatin1Char('"');
QString value(doubleQuote);
if (size) {
QString value;
if (size > 0) {
value += doubleQuote;
// Should this ever be a remote debugger, need to check byte order.
unsigned short *buf = new unsigned short[size + 1];
unsigned long bytesRead;
......@@ -724,8 +725,13 @@ int CdbSymbolGroupContext::dumpQString(CIDebugDataSpaces *ds, WatchData *wd)
delete [] buf;
if (truncated)
value += QLatin1String("...");
value += doubleQuote;
} else if (size == 0) {
value = QString(doubleQuote) + doubleQuote;
} else {
value = "Invalid QString";
}
value += doubleQuote;
wd->setValue(value);
wd->setHasChildren(false);
return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment