Changeset: f3b1e7875d88 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f3b1e7875d88
Modified Files:
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
Branch: Sep2022
Log Message:

Help coverity a little.


diffs (65 lines):

diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -601,6 +601,7 @@ append_msk_bat(BAT *b, BATiter *ni, stru
                        /* boff < noff */
                        if (noff + cnt <= 32) {
                                /* only need part of the first word of n */
+                               assert(cnt < 32); /* noff > 0, so cnt < 32 */
                                mask = (1U << cnt) - 1;
                                *bp &= ~(mask << boff);
                                *bp |= (*np & (mask << noff)) >> (noff - boff);
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -3791,39 +3791,40 @@ BBPsync(int cnt, bat *restrict subcommit
 
                while (++idx < cnt) {
                        bat i = subcommit ? subcommit[idx] : idx;
+                       const bat bid = i;
                        if (lock)
-                               MT_lock_set(&GDKswapLock(i));
+                               MT_lock_set(&GDKswapLock(bid));
                        /* set flag that we're syncing, i.e. that we'll
                         * be between moving heap to backup dir and
                         * saving the new version, in other words, the
                         * heap may not exist in the usual location */
-                       BBP_status_on(i, BBPSYNCING);
+                       BBP_status_on(bid, BBPSYNCING);
                        /* wait until unloading is finished before
                         * attempting to make a backup */
-                       while (BBP_status(i) & BBPUNLOADING) {
+                       while (BBP_status(bid) & BBPUNLOADING) {
                                if (lock)
-                                       MT_lock_unset(&GDKswapLock(i));
-                               BBPspin(i, __func__, BBPUNLOADING);
+                                       MT_lock_unset(&GDKswapLock(bid));
+                               BBPspin(bid, __func__, BBPUNLOADING);
                                if (lock)
-                                       MT_lock_set(&GDKswapLock(i));
+                                       MT_lock_set(&GDKswapLock(bid));
                        }
                        BAT *b = dirty_bat(&i, subcommit != NULL);
                        if (i <= 0) {
                                if (lock)
-                                       MT_lock_unset(&GDKswapLock(subcommit ? 
subcommit[idx] : idx));
+                                       MT_lock_unset(&GDKswapLock(bid));
                                break;
                        }
-                       if (BBP_status(i) & BBPEXISTING) {
+                       if (BBP_status(bid) & BBPEXISTING) {
                                if (b != NULL && b->batInserted > 0) {
                                        if (BBPbackup(b, subcommit != NULL) != 
GDK_SUCCEED) {
                                                if (lock)
-                                                       
MT_lock_unset(&GDKswapLock(i));
+                                                       
MT_lock_unset(&GDKswapLock(bid));
                                                break;
                                        }
                                }
                        }
                        if (lock)
-                               MT_lock_unset(&GDKswapLock(i));
+                               MT_lock_unset(&GDKswapLock(bid));
                }
                if (idx < cnt)
                        ret = GDK_FAIL;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to