]> granicus.if.org Git - postgis/commitdiff
Fixed double free of memory when using out-of-database bands
authorBborie Park <bkpark at ucdavis.edu>
Tue, 10 Jan 2012 18:18:23 +0000 (18:18 +0000)
committerBborie Park <bkpark at ucdavis.edu>
Tue, 10 Jan 2012 18:18:23 +0000 (18:18 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@8750 b70326c6-7e19-0410-871a-916f4a2858ee

raster/loader/raster2pgsql.c

index 223cfe8b46533b181e60ce2c5ee7d1a6ad5bbd6e..3954b423ec79d7c9f7079c4b2beebe0916b6fddd 100644 (file)
@@ -46,8 +46,10 @@ raster_destroy(rt_raster raster) {
        uint16_t nbands = rt_raster_get_num_bands(raster);
        for (i = 0; i < nbands; i++) {
                rt_band band = rt_raster_get_band(raster, i);
-               void *mem = rt_band_get_data(band);
-               if (mem) free(mem);
+               if (!rt_band_is_offline(band)) {
+       void* mem = rt_band_get_data(band);
+       if (mem) rtdealloc(mem);
+               }
                rt_band_destroy(band);
        }
        rt_raster_destroy(raster);