[cmake-commits] alex committed Glob.cxx 1.12 1.13
cmake-commits at cmake.org
cmake-commits at cmake.org
Tue Aug 21 15:30:09 EDT 2007
Update of /cvsroot/CMake/CMake/Source/kwsys
In directory public:/mounts/ram/cvs-serv16825
Modified Files:
Glob.cxx
Log Message:
BUG: fix segfault if FindFiles() is called without actual match pattern
(e.g. FILE(GLOB /usr/include) instead of FILE(GLOB /usr/include/* )
#4620
Alex
Index: Glob.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/Glob.cxx,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- Glob.cxx 25 Aug 2006 16:13:37 -0000 1.12
+++ Glob.cxx 21 Aug 2007 19:30:07 -0000 1.13
@@ -253,8 +253,9 @@
if ( !dir_only || !kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
{
- if ( this->Internals->Expressions[
- this->Internals->Expressions.size()-1].find(fname.c_str()) )
+ if ( (this->Internals->Expressions.size() > 0) &&
+ this->Internals->Expressions[
+ this->Internals->Expressions.size()-1].find(fname.c_str()) )
{
this->AddFile(this->Internals->Files, realname.c_str());
}
@@ -277,6 +278,12 @@
this->RecurseDirectory(start, dir, dir_only);
return;
}
+
+ if ( start >= this->Internals->Expressions.size() )
+ {
+ return;
+ }
+
kwsys::Directory d;
if ( !d.Load(dir.c_str()) )
{
More information about the Cmake-commits
mailing list