[mapguide-commits] r1310 - trunk/MgDev/Server/src/Common/Manager

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Mar 20 21:25:34 EDT 2007


Author: waltweltonlair
Date: 2007-03-20 21:25:29 -0400 (Tue, 20 Mar 2007)
New Revision: 1310

Modified:
   trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp
Log:
Fix server startup crash due to missing null pointer check

Modified: trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp
===================================================================
--- trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp	2007-03-21 00:50:25 UTC (rev 1309)
+++ trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp	2007-03-21 01:25:29 UTC (rev 1310)
@@ -132,31 +132,34 @@
     Ptr<MgStringCollection> fdoConnectionPoolSizeCustomCol = MgStringCollection::ParseCollection(fdoConnectionPoolSizeCustom, L",");
 
     // Update the provider cache size collection
-    for(INT32 i=0;i<fdoConnectionPoolSizeCustomCol->GetCount();i++)
+    if (fdoConnectionPoolSizeCustomCol)
     {
-        STRING customPoolSize = fdoConnectionPoolSizeCustomCol->GetItem(i);
+        for(INT32 i=0;i<fdoConnectionPoolSizeCustomCol->GetCount();i++)
+        {
+            STRING customPoolSize = fdoConnectionPoolSizeCustomCol->GetItem(i);
 
-        STRING provider = customPoolSize;
-        INT32 nCustomPoolSize = nFdoConnectionPoolSize;
+            STRING provider = customPoolSize;
+            INT32 nCustomPoolSize = nFdoConnectionPoolSize;
 
-        // Parse the format: provider:size
-        // Example: OSGeo.SDF:10
+            // Parse the format: provider:size
+            // Example: OSGeo.SDF:10
 
-        size_t position = customPoolSize.find(L":", 0); // NOXLATE
-        if(position != string::npos)
-        {
-            provider = customPoolSize.substr(0, position);
-            STRING value = customPoolSize.substr(position+1, customPoolSize.size());
-            nCustomPoolSize = MgUtil::StringToInt32(value);
-        }
+            size_t position = customPoolSize.find(L":", 0); // NOXLATE
+            if(position != string::npos)
+            {
+                provider = customPoolSize.substr(0, position);
+                STRING value = customPoolSize.substr(position+1, customPoolSize.size());
+                nCustomPoolSize = MgUtil::StringToInt32(value);
+            }
 
-        ProviderInfo* providerInfo = new ProviderInfo();
-        if(providerInfo)
-        {
-            providerInfo->cacheSize = nCustomPoolSize;
-            providerInfo->threadModel = (FdoThreadCapability)-1; // Not set yet
+            ProviderInfo* providerInfo = new ProviderInfo();
+            if(providerInfo)
+            {
+                providerInfo->cacheSize = nCustomPoolSize;
+                providerInfo->threadModel = (FdoThreadCapability)-1; // Not set yet
 
-            m_ProviderInfoCollection.insert(ProviderInfoCacheEntry_Pair(provider, providerInfo));
+                m_ProviderInfoCollection.insert(ProviderInfoCacheEntry_Pair(provider, providerInfo));
+            }
         }
     }
 



More information about the mapguide-commits mailing list