[mapserver-commits] r11388 - trunk/mapserver
svn at osgeo.org
svn at osgeo.org
Wed Mar 30 11:53:10 EDT 2011
Author: aboudreault
Date: 2011-03-30 08:53:10 -0700 (Wed, 30 Mar 2011)
New Revision: 11388
Modified:
trunk/mapserver/HISTORY.TXT
trunk/mapserver/mappostgis.c
Log:
Fixed Memory leak in PostGIS driver (#3768)
Modified: trunk/mapserver/HISTORY.TXT
===================================================================
--- trunk/mapserver/HISTORY.TXT 2011-03-30 14:36:07 UTC (rev 11387)
+++ trunk/mapserver/HISTORY.TXT 2011-03-30 15:53:10 UTC (rev 11388)
@@ -15,6 +15,8 @@
Current Version (SVN trunk):
----------------------------
+- Fixed Memory leak in PostGIS driver (#3768)
+
- Fixed PHP/MapScript symbol property setter method
- fix memory leak in bar charts
Modified: trunk/mapserver/mappostgis.c
===================================================================
--- trunk/mapserver/mappostgis.c 2011-03-30 14:36:07 UTC (rev 11387)
+++ trunk/mapserver/mappostgis.c 2011-03-30 15:53:10 UTC (rev 11388)
@@ -380,7 +380,8 @@
line->point = msSmallMalloc(sizeof(pointObj));
line->point[0] = wkbReadPoint(w);
msAddLineDirectly(shape, line);
- return MS_SUCCESS;
+ free(line);
+ return MS_SUCCESS;
}
/*
@@ -391,13 +392,16 @@
{
char endian;
int type;
+ lineObj *line;
endian = wkbReadChar(w);
type = wkbTypeMap(w,wkbReadInt(w));
if( type != WKB_LINESTRING ) return MS_FAILURE;
- msAddLineDirectly(shape, wkbReadLine(w));
+ line = wkbReadLine(w);
+ msAddLineDirectly(shape, line);
+ free(line);
return MS_SUCCESS;
}
@@ -411,6 +415,7 @@
char endian;
int type;
int i, nrings;
+ lineObj *line;
endian = wkbReadChar(w);
type = wkbTypeMap(w,wkbReadInt(w));
@@ -421,9 +426,12 @@
nrings = wkbReadInt(w);
/* Add each ring to the shape */
- for( i = 0; i < nrings; i++ )
- msAddLineDirectly(shape, wkbReadLine(w));
-
+ for( i = 0; i < nrings; i++ ) {
+ line = wkbReadLine(w);
+ msAddLineDirectly(shape, line);
+ free(line);
+ }
+
return MS_SUCCESS;
}
More information about the mapserver-commits
mailing list