diff --git a/src/plugins/debugger/cdb/symbolgroupcontext.cpp b/src/plugins/debugger/cdb/symbolgroupcontext.cpp
index 72b8320c0ba20899909ef66ce6532d67b8814c1a..235007d555bcd3a67ae32c96dd451f8df2975618 100644
--- a/src/plugins/debugger/cdb/symbolgroupcontext.cpp
+++ b/src/plugins/debugger/cdb/symbolgroupcontext.cpp
@@ -112,7 +112,7 @@ static inline QString getSymbolString(IDebugSymbolGroup2 *sg,
     ULONG nameLength;
     const HRESULT hr = (sg->*wsf)(index, nameBuffer, BufSize, &nameLength);
     if (SUCCEEDED(hr)) {
-        nameBuffer[nameLength] = 0;
+        nameBuffer[qMin(nameLength, ULONG(BufSize))] = 0;
         return QString::fromUtf16(reinterpret_cast<const ushort *>(nameBuffer));
     }
     return QString();