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
signature.asc
Description: Digital signature

