[mapserver-commits] r11062 - trunk/mapserver

svn at osgeo.org svn at osgeo.org
Thu Mar 3 18:36:23 EST 2011


Author: rouault
Date: 2011-03-03 15:36:23 -0800 (Thu, 03 Mar 2011)
New Revision: 11062

Modified:
   trunk/mapserver/mapogcfiltercommon.c
   trunk/mapserver/mapogcsos.c
   trunk/mapserver/mapwcs.c
   trunk/mapserver/mapwcs11.c
   trunk/mapserver/mapwms.c
Log:
fix memory leaks

Modified: trunk/mapserver/mapogcfiltercommon.c
===================================================================
--- trunk/mapserver/mapogcfiltercommon.c	2011-03-03 23:33:02 UTC (rev 11061)
+++ trunk/mapserver/mapogcfiltercommon.c	2011-03-03 23:36:23 UTC (rev 11062)
@@ -559,7 +559,10 @@
         if( lp->projection.numargs > 0)
         {
             if (psNode->pszSRS && FTLParseEpsgString(psNode->pszSRS, &sProjTmp))
+            {
               msProjectShape(&sProjTmp, &lp->projection, psTmpShape);
+              msFreeProjection(&sProjTmp);
+            }
             else if (lp->map->projection.numargs > 0)
               msProjectShape(&lp->map->projection, &lp->projection, psTmpShape);
         }

Modified: trunk/mapserver/mapogcsos.c
===================================================================
--- trunk/mapserver/mapogcsos.c	2011-03-03 23:33:02 UTC (rev 11061)
+++ trunk/mapserver/mapogcsos.c	2011-03-03 23:36:23 UTC (rev 11062)
@@ -1699,8 +1699,8 @@
          {
              for (i=0; i<nOfferings; i++)
                msFree(papsOfferings[i]);
-             msFree(papsOfferings);
          }
+         msFree(papsOfferings);
          if(panOfferingLayers)
            msFree(panOfferingLayers);        
 

Modified: trunk/mapserver/mapwcs.c
===================================================================
--- trunk/mapserver/mapwcs.c	2011-03-03 23:33:02 UTC (rev 11061)
+++ trunk/mapserver/mapwcs.c	2011-03-03 23:36:23 UTC (rev 11062)
@@ -785,10 +785,12 @@
 
 static int msWCSGetCapabilities_Capability(mapObj *map, wcsParamsObj *params, cgiRequestObj *req)
 {
-  char *script_url=NULL, *script_url_encoded;
+  char *script_url=NULL, *script_url_encoded=NULL;
 
    /* we need this server's onlineresource for the request section */
   if((script_url=msOWSGetOnlineResource(map, "CO", "onlineresource", req)) == NULL || (script_url_encoded = msEncodeHTMLEntities(script_url)) == NULL) {
+      free(script_url);
+      free(script_url_encoded);
       return msWCSException(map, NULL, NULL, params->version );
   }
 
@@ -825,6 +827,9 @@
   /* done */
   msIO_printf("</Capability>\n");
 
+  free(script_url);
+  free(script_url_encoded);
+
   return MS_SUCCESS;
 }
 
@@ -942,6 +947,7 @@
   tmpInt = msOWSNegotiateVersion(tmpInt, wcsSupportedVersions, wcsNumSupportedVersions);
 
   /* set result as string and carry on */
+  free(params->version);
   params->version = msStrdup(msOWSGetVersionString(tmpInt, tmpString));
 
 /* -------------------------------------------------------------------- */
@@ -1033,9 +1039,6 @@
     if(!params->section || (params->section && strcasecmp(params->section, "/")  == 0)) msIO_printf("</WCS_Capabilities>\n");
   }
 
-  /* clean up */
-  /* msWCSFreeParams(params); */
-
   return MS_SUCCESS;
 }
 
@@ -2084,11 +2087,11 @@
   ** Start dispatching requests
   */
   if(strcasecmp(params->request, "GetCapabilities") == 0)    
-    return msWCSGetCapabilities(map, params, request);
+    retVal = msWCSGetCapabilities(map, params, request);
   else if(strcasecmp(params->request, "DescribeCoverage") == 0)    
-    return msWCSDescribeCoverage(map, params);
+    retVal = msWCSDescribeCoverage(map, params);
   else if(strcasecmp(params->request, "GetCoverage") == 0)    
-    return msWCSGetCoverage(map, request, params);
+    retVal = msWCSGetCoverage(map, request, params);
   else {
     msSetError(MS_WCSERR, "Invalid REQUEST parameter \"%s\"", "msWCSDispatch()", params->request);
     msWCSException(map, "InvalidParameterValue", "request", params->version);
@@ -2098,7 +2101,9 @@
     return MS_FAILURE;
   }  
 
-  return MS_DONE; /* not a WCS request, let MapServer take it */
+  msWCSFreeParams(params); /* clean up */
+  free(params);
+  return retVal; /* not a WCS request, let MapServer take it */
 #else
   msSetError(MS_WCSERR, "WCS server support is not available.", "msWCSDispatch()");
   return MS_FAILURE;

Modified: trunk/mapserver/mapwcs11.c
===================================================================
--- trunk/mapserver/mapwcs11.c	2011-03-03 23:33:02 UTC (rev 11061)
+++ trunk/mapserver/mapwcs11.c	2011-03-03 23:36:23 UTC (rev 11062)
@@ -579,8 +579,6 @@
     xmlCleanupParser();
 
     /* clean up */
-    msWCSFreeParams(params);
-    free(params);
     free( script_url_encoded );
     free( identifier_list );
 
@@ -975,10 +973,7 @@
 /* -------------------------------------------------------------------- */
     xmlFreeDoc(psDoc);
     xmlCleanupParser();
-    msWCSFreeParams(params);
 
-    free(params);
-
     return MS_SUCCESS;
 }
 

Modified: trunk/mapserver/mapwms.c
===================================================================
--- trunk/mapserver/mapwms.c	2011-03-03 23:33:02 UTC (rev 11061)
+++ trunk/mapserver/mapwms.c	2011-03-03 23:36:23 UTC (rev 11062)
@@ -435,7 +435,7 @@
        sldenabled = msOWSLookupMetadata(&(map->web.metadata), "MO", "sld_enabled");
 
        if (sldenabled == NULL)
-         sldenabled = msStrdup("true");
+         sldenabled = "true";
 
        if (ogrEnabled == 0)
        {
@@ -2015,7 +2015,7 @@
   encoding = msOWSLookupMetadata(&(map->web.metadata), "MO", "encoding");
 
   if (sldenabled == NULL)
-      sldenabled = msStrdup("true");
+      sldenabled = "true";
 
   if (requested_updatesequence != NULL) {
       i = msOWSNegotiateUpdateSequence(requested_updatesequence, updatesequence);
@@ -3482,7 +3482,7 @@
     sldenabled = msOWSLookupMetadata(&(map->web.metadata), "MO", "sld_enabled");
 
     if (sldenabled == NULL)
-       sldenabled = msStrdup("true");
+       sldenabled = "true";
 
      for(i=0; map && i<numentries; i++)
      {



More information about the mapserver-commits mailing list