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);
|
||||
if (size > 0) {
|
||||
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;
|
||||
}
|
||||
typeName = new char[1];
|
||||
typeName[0] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return typeName;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user