diff --git a/debugger/winedbg.c b/debugger/winedbg.c
index e4134bf938baeef0aff1aa236524206e39ff30b3..6164d8621f86642c63e45f8437b65babdbdb31f6 100644
--- a/debugger/winedbg.c
+++ b/debugger/winedbg.c
@@ -50,7 +50,7 @@ static    char	buf[4*1024];
     len = vsnprintf(buf, sizeof(buf), format, valist);
     va_end(valist);
 
-    if (len <= -1) {
+    if (len <= -1 || len >= sizeof(buf)) {
 	len = sizeof(buf) - 1;
 	buf[len] = 0;
 	buf[len - 1] = buf[len - 2] = buf[len - 3] = '.';