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