From 867cee83140f63934e6ee80c20605600a3ab013c Mon Sep 17 00:00:00 2001 From: Bborie Park Date: Wed, 19 Dec 2012 23:26:45 +0000 Subject: [PATCH] Stomp out memory leaks in CUnit tests git-svn-id: http://svn.osgeo.org/postgis/trunk@10868 b70326c6-7e19-0410-871a-916f4a2858ee --- raster/test/cunit/cu_raster_basics.c | 1 + raster/test/cunit/cu_raster_geometry.c | 3 +++ raster/test/cunit/cu_raster_wkb.c | 26 +++++++++++++------------- raster/test/cunit/cu_tester.c | 4 ---- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/raster/test/cunit/cu_raster_basics.c b/raster/test/cunit/cu_raster_basics.c index 363a1e22a..87d63645c 100644 --- a/raster/test/cunit/cu_raster_basics.c +++ b/raster/test/cunit/cu_raster_basics.c @@ -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); diff --git a/raster/test/cunit/cu_raster_geometry.c b/raster/test/cunit/cu_raster_geometry.c index 1f50015c5..9569e28b8 100644 --- a/raster/test/cunit/cu_raster_geometry.c +++ b/raster/test/cunit/cu_raster_geometry.c @@ -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 */ diff --git a/raster/test/cunit/cu_raster_wkb.c b/raster/test/cunit/cu_raster_wkb.c index 516b9c1c2..89e75a10e 100644 --- a/raster/test/cunit/cu_raster_wkb.c +++ b/raster/test/cunit/cu_raster_wkb.c @@ -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 */ diff --git a/raster/test/cunit/cu_tester.c b/raster/test/cunit/cu_tester.c index 44e88a9bf..1247a82ab 100644 --- a/raster/test/cunit/cu_tester.c +++ b/raster/test/cunit/cu_tester.c @@ -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); } -- 2.40.0