[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