diff --git a/IDEHelper/WinDebugger.cpp b/IDEHelper/WinDebugger.cpp index 0ac83fb4..f5376765 100644 --- a/IDEHelper/WinDebugger.cpp +++ b/IDEHelper/WinDebugger.cpp @@ -7004,12 +7004,14 @@ String WinDebugger::DbgTypedValueToString(const DbgTypedValue& origTypedValue, c retVal = EncodeDataPtr(ptrVal, true); int strLen = formatInfo.mOverrideCount; - if ((strLen == -1) && (typedValue.mIsLiteral)) + if (typedValue.mIsLiteral) { + if (strLen == -1) + strLen = 0x7FFFFFFF; if (typedValue.mDataLen > 0) - strLen = typedValue.mDataLen; + strLen = BF_MIN(strLen, typedValue.mDataLen); else - strLen = strlen(typedValue.mCharPtr); + strLen = BF_MIN(strLen, strlen(typedValue.mCharPtr)); } SetAndRestoreValue prevOverrideLen(formatInfo.mOverrideCount, strLen);