tag 357722 patch
thanks

I believe that Doxygen is overflowing the data buffer when it calls
sprintf.  The attached patch makes it allocate enough memory before
calling sprintf, which should fix the problem.

-- 
Matt
diff -ru doxygen-1.4.6-orig/src/util.cpp doxygen-1.4.6/src/util.cpp
--- doxygen-1.4.6-orig/src/util.cpp     2005-12-27 10:04:41.000000000 -0800
+++ doxygen-1.4.6/src/util.cpp  2006-05-20 01:34:20.000000000 -0700
@@ -889,7 +889,8 @@
     return isAccessibleFrom(scope,fileScope,item);
   }
 
-  QCString key;
+  QCString key(3 * (2 + 2 * sizeof(void *) + 1)
+              + strlen(explicitScopePart.data()) + 1);
   key.sprintf("%p:%p:%p:%s",scope,fileScope,item,explicitScopePart.data());
   static QDict<void> visitedDict;
   if (visitedDict.find(key)) return -1; // already looked at this

Attachment: signature.asc
Description: Digital signature

Reply via email to