]> granicus.if.org Git - postgis/commitdiff
Remove double-free problem from loader in presence of new deep-freeing lwfree calls.
authorPaul Ramsey <pramsey@cleverelephant.ca>
Mon, 12 Jan 2009 19:29:57 +0000 (19:29 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Mon, 12 Jan 2009 19:29:57 +0000 (19:29 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@3519 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/lwcollection.c
liblwgeom/lwmpoint.c
liblwgeom/lwmpoly.c
loader/shp2pgsql.c

index 40c7c0f1e313d33f7aa15770ff9d0edca0e1d16f..3e2a4010772d941a5a14a9a8720bef4708830bce 100644 (file)
@@ -485,4 +485,5 @@ void lwcollection_free(LWCOLLECTION *col)
        }
        lwfree(col);
        
-};
\ No newline at end of file
+};
+
index a570ed2f16a0de038ec0ed81546e9a02a1dd5cb6..1635f37919658bc910fb24c518ad1c2e56278c9f 100644 (file)
@@ -134,4 +134,5 @@ void lwmpoint_free(LWMPOINT *mpt)
        }
        lwfree(mpt);
        
-};
\ No newline at end of file
+};
+
index f0ec82563b47681f0f704283b07b523399575951..27c2933ccb854e1e5c1b40f242446c6c3651d5e5 100644 (file)
@@ -137,4 +137,5 @@ void lwmpoly_free(LWMPOLY *mpoly)
        }
        lwfree(mpoly);
        
-};
\ No newline at end of file
+};
+
index 13f41a9add7c29df9d5ce65b3f71ba577526b1cf..fa171b11b7ed47cf7c81535b5ae96471aa5ddcd0 100644 (file)
@@ -806,7 +806,6 @@ void
 InsertLineString()
 {
        LWCOLLECTION *lwcollection;
-       BOX2DFLOAT4 bbox;
 
        LWGEOM **lwmultilinestrings;
        uchar *serialized_lwgeom;
@@ -866,13 +865,13 @@ InsertLineString()
                }
        
                /* Generate the LWLINE */
-               lwmultilinestrings[u] = lwline_as_lwgeom(lwline_construct(sr_id, &bbox, dpas[u]->pa));
+               lwmultilinestrings[u] = lwline_as_lwgeom(lwline_construct(sr_id, NULL, dpas[u]->pa));
        }
 
        /* If using MULTILINESTRINGs then generate the serialized collection, otherwise just a single LINESTRING */
        if (simple_geometries == 0)
        {
-               lwcollection = lwcollection_construct(MULTILINETYPE, sr_id, &bbox, obj->nParts, lwmultilinestrings);
+               lwcollection = lwcollection_construct(MULTILINETYPE, sr_id, NULL, obj->nParts, lwmultilinestrings);
                serialized_lwgeom = lwgeom_serialize(lwcollection_as_lwgeom(lwcollection));
        }
        else
@@ -1069,7 +1068,6 @@ InsertPolygon(void)
        int u;  
 
        LWCOLLECTION *lwcollection = NULL;
-       BOX2DFLOAT4 bbox;
 
        LWGEOM **lwpolygons;
        uchar *serialized_lwgeom;
@@ -1157,7 +1155,7 @@ InsertPolygon(void)
                }
 
                /* Generate the LWGEOM */
-               lwpoly = lwpoly_construct(sr_id, &bbox, ring_total, pas[pi]);   
+               lwpoly = lwpoly_construct(sr_id, NULL, ring_total, pas[pi]);    
                lwpolygons[pi] = lwpoly_as_lwgeom(lwpoly);
        }
 
@@ -1166,7 +1164,7 @@ InsertPolygon(void)
        /* If using MULTIPOLYGONS then generate the serialized collection, otherwise just a single POLYGON */
        if (simple_geometries == 0)
        {
-               lwcollection = lwcollection_construct(MULTIPOLYGONTYPE, sr_id, &bbox, polygon_total, lwpolygons);
+               lwcollection = lwcollection_construct(MULTIPOLYGONTYPE, sr_id, NULL, polygon_total, lwpolygons);
                serialized_lwgeom = lwgeom_serialize(lwcollection_as_lwgeom(lwcollection));
        }
        else
@@ -1209,7 +1207,6 @@ void
 InsertPoint(void)
 {
        LWCOLLECTION *lwcollection;
-       BOX2DFLOAT4 bbox;
 
        LWGEOM **lwmultipoints;
        uchar *serialized_lwgeom;
@@ -1257,7 +1254,7 @@ InsertPoint(void)
        rather than a POINT */
        if (obj->nVertices > 1)
        {
-               lwcollection = lwcollection_construct(MULTIPOINTTYPE, sr_id, &bbox, obj->nVertices, lwmultipoints);
+               lwcollection = lwcollection_construct(MULTIPOINTTYPE, sr_id, NULL, obj->nVertices, lwmultipoints);
                serialized_lwgeom = lwgeom_serialize(lwcollection_as_lwgeom(lwcollection));
        }
        else