]> granicus.if.org Git - postgis/commitdiff
Stomp out memory leaks in CUnit tests
authorBborie Park <bkpark at ucdavis.edu>
Wed, 19 Dec 2012 23:26:45 +0000 (23:26 +0000)
committerBborie Park <bkpark at ucdavis.edu>
Wed, 19 Dec 2012 23:26:45 +0000 (23:26 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@10868 b70326c6-7e19-0410-871a-916f4a2858ee

raster/test/cunit/cu_raster_basics.c
raster/test/cunit/cu_raster_geometry.c
raster/test/cunit/cu_raster_wkb.c
raster/test/cunit/cu_tester.c

index 363a1e22a972db04a6eae48e993ae35c96406668..87d63645c65c20fdde11b3ba338d1a5f09f21e3b 100644 (file)
@@ -193,6 +193,7 @@ static void test_raster_replace_band() {
        mem = rtalloc(datasize);
        band = rt_band_new_inline(width, height, PT_8BUI, 1, 1, mem);
        CU_ASSERT(band != NULL);
+       rt_band_set_ownsdata_flag(band, 1);
 
        rband = rt_raster_replace_band(raster, band, 0);
        CU_ASSERT(rband != NULL);
index 1f50015c5750cba36d27dd074371a172afbdb55a..9569e28b8cc29352da22ebdda370879d98317499 100644 (file)
@@ -41,6 +41,7 @@ static void test_raster_convex_hull() {
 
        CU_ASSERT_EQUAL(rt_raster_get_convex_hull(raster, &hull), ES_NONE);
        CU_ASSERT_EQUAL(hull->type, POINTTYPE);
+       lwgeom_free(hull);
        cu_free_raster(raster);
 
        /* width = 0 */
@@ -49,6 +50,7 @@ static void test_raster_convex_hull() {
 
        CU_ASSERT_EQUAL(rt_raster_get_convex_hull(raster, &hull), ES_NONE);
        CU_ASSERT_EQUAL(hull->type, LINETYPE);
+       lwgeom_free(hull);
        cu_free_raster(raster);
 
        /* height = 0 */
@@ -57,6 +59,7 @@ static void test_raster_convex_hull() {
 
        CU_ASSERT_EQUAL(rt_raster_get_convex_hull(raster, &hull), ES_NONE);
        CU_ASSERT_EQUAL(hull->type, LINETYPE);
+       lwgeom_free(hull);
        cu_free_raster(raster);
 
        /* normal raster */
index 516b9c1c2077ebaadd665a7b658ae9450af1aa74..89e75a10ea8dd3f959c54e66e6876664a8f9f4e3 100644 (file)
@@ -85,11 +85,11 @@ static void test_raster_wkb() {
                serialized = rt_raster_serialize(raster);
                rast2 = rt_raster_deserialize(serialized, FALSE);
 
-               rt_raster_destroy(rast2);
+               cu_free_raster(rast2);
                free(serialized);
        }
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
 
        /* ------------------------------------------------------ */
        /* No bands, 7x8 - big endian                             */
@@ -135,7 +135,7 @@ static void test_raster_wkb() {
        CU_ASSERT_STRING_EQUAL(hexwkb, out);
 */
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
        free((/*no const*/ void*)out);
 
        /* ------------------------------------------------------ */
@@ -197,7 +197,7 @@ static void test_raster_wkb() {
        CU_ASSERT_STRING_EQUAL(hexwkb, out);
 */
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
        free((/*no const*/ void*)out);
 
        /* ------------------------------------------------------ */
@@ -295,12 +295,12 @@ static void test_raster_wkb() {
                serialized = rt_raster_serialize(raster);
                rast2 = rt_raster_deserialize(serialized, FALSE);
 
-               rt_raster_destroy(rast2);
+               cu_free_raster(rast2);
                free(serialized);
 
        }
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
 
        /* ------------------------------------------------------ */
        /* 3x2, little endian, band0(16BSI)                       */
@@ -385,7 +385,7 @@ static void test_raster_wkb() {
        CU_ASSERT_STRING_EQUAL(hexwkb, out);
 */
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
        free((/*no const*/ void*)out);
 
        /* ------------------------------------------------------ */
@@ -471,7 +471,7 @@ static void test_raster_wkb() {
        CU_ASSERT_STRING_EQUAL(hexwkb, out);
 */
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
        free((/*no const*/ void*)out);
 
        /* ------------------------------------------------------ */
@@ -535,7 +535,7 @@ static void test_raster_wkb() {
        CU_ASSERT_STRING_EQUAL(hexwkb, out);
 */
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
        free((/*no const*/ void*)out);
 
        /* ------------------------------------------------------ */
@@ -618,11 +618,11 @@ static void test_raster_wkb() {
                serialized = rt_raster_serialize(raster);
                rast2 = rt_raster_deserialize(serialized, FALSE);
 
-               rt_raster_destroy(rast2);
+               cu_free_raster(rast2);
                free(serialized);
        }
 
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
 
        /* ------------------------------------------------------ */
        /* 5x5, little endian, 3 x band 8BUI (RGB),               */
@@ -786,10 +786,10 @@ static void test_raster_wkb() {
                serialized = rt_raster_serialize(raster);
                rast2 = rt_raster_deserialize(serialized, FALSE);
 
-               rt_raster_destroy(rast2);
+               cu_free_raster(rast2);
                free(serialized);
        }
-       rt_raster_destroy(raster);
+       cu_free_raster(raster);
 
        } /* for-loop running car5 tests */
 
index 44e88a9bf188d81fa11fb7fe6f8819b02eb881b4..1247a82ab68dec95ac7fc2497ba527d884fba6eb 100644 (file)
@@ -204,10 +204,6 @@ void cu_free_raster(rt_raster raster) {
 
        for (i = 0; i < nbands; ++i) {
                rt_band band = rt_raster_get_band(raster, i);
-               if (!rt_band_is_offline(band) && !rt_band_get_ownsdata_flag(band)) {
-                       void* mem = rt_band_get_data(band);
-                       if (mem) rtdealloc(mem);
-               }
                rt_band_destroy(band);
        }