diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2006-06-20 17:13:13 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2006-06-20 17:13:13 (GMT) |
commit | 7e5509a260a3573d817d6095dc21d40a94fc9fa8 (patch) | |
tree | 24d426a19bf84b3d628f1cc365292fdf27192a32 | |
parent | fe99b156e5b8ddf34d2635c3c3192cfafd9b63af (diff) | |
download | CMake-7e5509a260a3573d817d6095dc21d40a94fc9fa8.zip CMake-7e5509a260a3573d817d6095dc21d40a94fc9fa8.tar.gz CMake-7e5509a260a3573d817d6095dc21d40a94fc9fa8.tar.bz2 |
ENH: avoid crash in sprintf
-rw-r--r-- | Source/MFCDialog/CMakeSetupDialog.cpp | 3 | ||||
-rw-r--r-- | Source/cmake.cxx | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Source/MFCDialog/CMakeSetupDialog.cpp b/Source/MFCDialog/CMakeSetupDialog.cpp index 534f713..0a605f2 100644 --- a/Source/MFCDialog/CMakeSetupDialog.cpp +++ b/Source/MFCDialog/CMakeSetupDialog.cpp @@ -83,7 +83,7 @@ void MFCMessageCallback(const char* m, const char* title, bool& nomore, void*) // CMakeSetupDialog dialog void updateProgress(const char *msg, float prog, void *cd) { - char tmp[1024]; + char* tmp = new char[strlen(msg) + 40]; if (prog >= 0) { sprintf(tmp,"%s %i%%",msg,(int)(100*prog)); @@ -120,6 +120,7 @@ void updateProgress(const char *msg, float prog, void *cd) break; } } + delete [] tmp; } // Convert to Win32 path (slashes). This calls the system tools one and then diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 44efd23..2f4100f 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -2369,7 +2369,7 @@ void cmake::GenerateGraphViz(const char* fileName) std::map<cmStdString, int> targetDeps; std::map<cmStdString, cmTarget*> targetPtrs; std::map<cmStdString, cmStdString> targetNamesNodes; - char tgtName[100]; + char tgtName[2048]; int cnt = 0; // First pass get the list of all cmake targets for ( lit = localGenerators.begin(); lit != localGenerators.end(); ++ lit ) |