Changeset: 24d5b9aca4a7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=24d5b9aca4a7
Modified Files:
        gdk/gdk_storage.c
Branch: Dec2016
Log Message:

Fix leak: if loading fails, free the heap since no reference is returned.
(grafted from 35bf8101756911fd7d363339b86e40baf4d7c6e4)


diffs (19 lines):

diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -793,6 +793,7 @@ BATload_intern(bat bid, int lock)
        /* LOAD bun heap */
        if (b->ttype != TYPE_void) {
                if (HEAPload(&b->theap, nme, "tail", b->batRestricted == 
BAT_READ) != GDK_SUCCEED) {
+                       HEAPfree(&b->theap, 0);
                        return NULL;
                }
                assert(b->theap.size >> b->tshift <= BUN_MAX);
@@ -805,6 +806,7 @@ BATload_intern(bat bid, int lock)
        if (ATOMvarsized(b->ttype)) {
                if (HEAPload(b->tvheap, nme, "theap", b->batRestricted == 
BAT_READ) != GDK_SUCCEED) {
                        HEAPfree(&b->theap, 0);
+                       HEAPfree(b->tvheap, 0);
                        return NULL;
                }
                if (ATOMstorage(b->ttype) == TYPE_str) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to