[cmake-commits] alex committed cmTarget.cxx 1.139 1.140

cmake-commits at cmake.org cmake-commits at cmake.org
Tue May 15 16:06:20 EDT 2007


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv28952

Modified Files:
	cmTarget.cxx 
Log Message:

BUG: fix segfault when trying to get the object file for a sourcefile in an
unknown language via GET_TARGET_PROPERTY(), as reported by Trevor Kellaway

Alex


Index: cmTarget.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.cxx,v
retrieving revision 1.139
retrieving revision 1.140
diff -u -d -r1.139 -r1.140
--- cmTarget.cxx	14 May 2007 15:23:37 -0000	1.139
+++ cmTarget.cxx	15 May 2007 20:06:18 -0000	1.140
@@ -1303,21 +1303,24 @@
       const char* lang = this->Makefile->GetLocalGenerator()->
         GetGlobalGenerator()->
         GetLanguageFromExtension(sf->GetSourceExtension().c_str());
-      std::string lookupObj = objExtensionLookup1 + lang;
-      lookupObj += objExtensionLookup2;
-      const char* obj = this->Makefile->GetDefinition(lookupObj.c_str());
-      if(obj)
+      if (lang)
         {
-        if(objectFiles.size())
+        std::string lookupObj = objExtensionLookup1 + lang;
+        lookupObj += objExtensionLookup2;
+        const char* obj = this->Makefile->GetDefinition(lookupObj.c_str());
+        if(obj)
           {
-          objectFiles += ";";
+          if(objectFiles.size())
+            {
+            objectFiles += ";";
+            }
+          std::string objFile = *d;
+          objFile += "/";
+          objFile += this->Makefile->GetLocalGenerator()->
+            GetSourceObjectName(*sf);
+          objFile += obj;
+          objectFiles += objFile;
           }
-        std::string objFile = *d;
-        objFile += "/";
-        objFile += this->Makefile->GetLocalGenerator()->
-          GetSourceObjectName(*sf);
-        objFile += obj;
-        objectFiles += objFile;
         }
       }
     }



More information about the Cmake-commits mailing list