forked from qt-creator/qt-creator
Cdb: Fix getTypeName return value for non existing types
Returning an empty null terminated char[] instead of a nullptr. This fixes usecases where the return value is implicitly converted to a std::string. Change-Id: I5a3985880632a9bcc07765f8b27329bdd1e83347 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -87,12 +87,14 @@ char *getTypeName(ULONG64 module, ULONG typeId)
|
|||||||
symbols->GetTypeName(module, typeId, NULL, 0, &size);
|
symbols->GetTypeName(module, typeId, NULL, 0, &size);
|
||||||
if (size > 0) {
|
if (size > 0) {
|
||||||
typeName = new char[size];
|
typeName = new char[size];
|
||||||
if (FAILED(symbols->GetTypeName(module, typeId, typeName, size, &size))) {
|
if (SUCCEEDED(symbols->GetTypeName(module, typeId, typeName, size, &size)))
|
||||||
|
return typeName;
|
||||||
|
else
|
||||||
delete[] typeName;
|
delete[] typeName;
|
||||||
|
}
|
||||||
typeName = new char[1];
|
typeName = new char[1];
|
||||||
typeName[0] = 0;
|
typeName[0] = 0;
|
||||||
}
|
|
||||||
}
|
|
||||||
return typeName;
|
return typeName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user