Changeset: 2968c68fa520 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2968c68fa520
Modified Files:
        geom/monetdb5/geom.c
Branch: sfcgal
Log Message:

Better error message and avoid a double free (it is left commented for future 
memory leaks check)


diffs (34 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -3769,6 +3769,7 @@ wkbMakePolygon(wkb **out, wkb **external
        GEOSGeom geosGeometry, externalGeometry, linearRingGeometry;
        bit closed = 0;
        GEOSCoordSeq coordSeq_copy;
+       int geometryType;
 
        if (wkb_isnil(*external) || *srid == int_nil) {
                if ((*out = wkbNULLcopy()) == NULL)
@@ -3781,10 +3782,11 @@ wkbMakePolygon(wkb **out, wkb **external
                throw(MAL, "geom.Polygon", MAL_MALLOC_FAIL);
 
        //check the type of the external geometry
-       if ((GEOSGeomTypeId(externalGeometry) + 1) != wkbLineString_mdb) {
+       geometryType = GEOSGeomTypeId(externalGeometry) + 1;
+       if (geometryType != wkbLineString_mdb) {
                *out = NULL;
                GEOSGeom_destroy(externalGeometry);
-               throw(MAL, "geom.Polygon", "Geometries should be LineString");
+               throw(MAL, "geom.Polygon", "Geometries should be LineString, 
but it is %s.", geom_type2str(geometryType, 0));
        }
        //check whether the linestring is closed
        wkbIsClosed(&closed, external);
@@ -5598,7 +5600,7 @@ BATgroupWKBWKBtoWKB(bat *outBAT_id, BAT 
             outBAT = NULL;
                throw(MAL, name, "BUNappend failed");
         }
-        GDKfree(grpWKBs[i]);
+        //GDKfree(grpWKBs[i]);
     }
 
     if (nils < BUN_NONE) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to