summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-06-20 17:13:13 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-06-20 17:13:13 (GMT)
commit7e5509a260a3573d817d6095dc21d40a94fc9fa8 (patch)
tree24d426a19bf84b3d628f1cc365292fdf27192a32
parentfe99b156e5b8ddf34d2635c3c3192cfafd9b63af (diff)
downloadCMake-7e5509a260a3573d817d6095dc21d40a94fc9fa8.zip
CMake-7e5509a260a3573d817d6095dc21d40a94fc9fa8.tar.gz
CMake-7e5509a260a3573d817d6095dc21d40a94fc9fa8.tar.bz2
ENH: avoid crash in sprintf
-rw-r--r--Source/MFCDialog/CMakeSetupDialog.cpp3
-rw-r--r--Source/cmake.cxx2
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 )