Changeset: 81e088c96d33 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=81e088c96d33
Modified Files:
        MonetDB5/src/modules/kernel/bat5.mx
Branch: default
Log Message:

Protect against deref NULL


diffs (67 lines):

diff -r d22e2ace0160 -r 81e088c96d33 MonetDB5/src/modules/kernel/bat5.mx
--- a/MonetDB5/src/modules/kernel/bat5.mx       Mon Dec 20 08:03:39 2010 +0100
+++ b/MonetDB5/src/modules/kernel/bat5.mx       Mon Dec 20 08:23:56 2010 +0100
@@ -3822,6 +3822,7 @@
     @1 *q = (@1*)Tloc(b, BUNlast(b));
     @1 *r = (@1*)Tloc(bn, BUNfirst(bn));
 
+       cnt=0;
        for (;p<q; oidx++, p++) {
                if ( o < ol && *o == oidx ){
                        o++;
@@ -3851,12 +3852,12 @@
                throw(MAL, "bat.shrink", RUNTIME_OBJECT_MISSING);
        }
        bn= BATnew(b->htype, b->ttype, BATcount(b) - BATcount(d) );
-       BATseqbase(bn, 0);
        if (bn == NULL) {
                BBPreleaseref(b->batCacheid);
                BBPreleaseref(d->batCacheid);
                throw(MAL, "bat.shrink", MAL_MALLOC_FAIL );
        }
+       BATseqbase(bn, 0);
        bs = BATmirror(BATsort(BATmirror(d)));
        if (bs == NULL) {
                BBPreleaseref(b->batCacheid);
@@ -3931,12 +3932,12 @@
        }
 
        bn= BATnew(TYPE_void, TYPE_oid, BATcount(b) );
-       BATseqbase(bn, 0);
        if (bn == NULL) {
                BBPreleaseref(b->batCacheid);
                BBPreleaseref(d->batCacheid);
                throw(MAL, "bat.shrinkMap", MAL_MALLOC_FAIL );
        }
+       BATseqbase(bn, b->hseqbase);
        bs = BATmirror(BATsort(BATmirror(d)));
        if (bs == NULL) {
                BBPreleaseref(b->batCacheid);
@@ -4011,12 +4012,12 @@
                throw(MAL, "bat.reuse", RUNTIME_OBJECT_MISSING);
        }
        bn= BATnew(b->htype, b->ttype, BATcount(b) - BATcount(d) );
-       BATseqbase(bn, 0);
        if (bn == NULL) {
                BBPreleaseref(b->batCacheid);
                BBPreleaseref(d->batCacheid);
                throw(MAL, "bat.reuse", MAL_MALLOC_FAIL );
        }
+       BATseqbase(bn, b->hseqbase);
        bs = BATmirror(BATsort(BATmirror(d)));
        if (bs == NULL) {
                BBPreleaseref(b->batCacheid);
@@ -4085,12 +4086,12 @@
                throw(MAL, "bat.shrinkMap", RUNTIME_OBJECT_MISSING);
        }
        bn= BATnew(TYPE_void, TYPE_oid, BATcount(b) );
-       BATseqbase(bn, 0);
        if (bn == NULL) {
                BBPreleaseref(b->batCacheid);
                BBPreleaseref(d->batCacheid);
                throw(MAL, "bat.shrinkMap", MAL_MALLOC_FAIL );
        }
+       BATseqbase(bn, b->hseqbase);
        bs = BATmirror(BATsort(BATmirror(d)));
        if (bs == NULL) {
                BBPreleaseref(b->batCacheid);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to