Changeset: b9fdefd3742e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b9fdefd3742e
Modified Files:
        clients/mapilib/mapi.c
        gdk/gdk_logger.c
        gdk/gdk_select.c
Branch: Jun2016
Log Message:

Coverity inspired fixes.


diffs (82 lines):

diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -2635,7 +2635,7 @@ mapi_reconnect(Mapi mid)
                hash = strchr(serverhash, ':');
                if (hash) {
                        *hash = '\0';
-                       rest = hash + 1;
+                       /* rest = hash + 1; -- rest of string ignored */
                }
                hash = NULL;
                /* hash password, if not already */
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -2067,13 +2067,19 @@ logger_exit(logger *lg)
 
                if (fflush(fp) < 0 ||
 #if defined(_MSC_VER)
-                   _commit(_fileno(fp)) < 0 ||
+                   _commit(_fileno(fp)) < 0
 #elif defined(HAVE_FDATASYNC)
-                   fdatasync(fileno(fp)) < 0 ||
+                   fdatasync(fileno(fp)) < 0
 #elif defined(HAVE_FSYNC)
-                   fsync(fileno(fp)) < 0 ||
+                   fsync(fileno(fp)) < 0
 #endif
-                   fclose(fp) < 0) {
+                       ) {
+                       (void) fclose(fp);
+                       fprintf(stderr, "!ERROR: logger_exit: flush of %s 
failed\n",
+                               filename);
+                       return LOG_ERR;
+               }
+               if (fclose(fp) < 0) {
                        fprintf(stderr, "!ERROR: logger_exit: flush of %s 
failed\n",
                                filename);
                        return LOG_ERR;
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1634,7 +1634,9 @@ BATselect(BAT *b, BAT *s, const void *tl
                (((b->batPersistence == PERSISTENT
 #ifndef DISABLE_PARENT_HASH
                   || (parent != 0 &&
-                      BBPquickdesc(abs(parent),0)->batPersistence == 
PERSISTENT)
+                      /* temporarily misuse bn */
+                      (bn = BBPquickdesc(abs(parent),0)) != NULL &&
+                      bn->batPersistence == PERSISTENT)
 #endif
                          ) &&
                 (size_t) ATOMsize(b->ttype) >= sizeof(BUN) / 4 &&
@@ -1721,7 +1723,9 @@ BATselect(BAT *b, BAT *s, const void *tl
                    !b->tvarsized &&
                    (b->batPersistence == PERSISTENT ||
                     (parent != 0 &&
-                     BBPquickdesc(abs(parent),0)->batPersistence == 
PERSISTENT))) {
+                     /* temporarily misuse bn */
+                     (bn = BBPquickdesc(abs(parent),0)) != NULL &&
+                     bn->batPersistence == PERSISTENT))) {
                        /* use imprints if
                         *   i) bat is persistent, or parent is persistent
                         *  ii) it is not an equi-select, and
@@ -1827,6 +1831,7 @@ rangejoin(BAT *r1, BAT *r2, BAT *l, BAT 
        wrd off = 0;
        oid rlval = oid_nil, rhval = oid_nil;
        int sorted = 0;         /* which column is sorted */
+       BAT *tmp;
 
        assert(BAThdense(l));
        assert(BAThdense(rl));
@@ -2032,7 +2037,8 @@ rangejoin(BAT *r1, BAT *r2, BAT *l, BAT 
        } else if ((BATcount(rl) > 2 ||
                    l->batPersistence == PERSISTENT ||
                    (VIEWtparent(l) != 0 &&
-                    BBPquickdesc(abs(VIEWtparent(l)), 0)->batPersistence == 
PERSISTENT) ||
+                    (tmp = BBPquickdesc(abs(VIEWtparent(l)), 0)) != NULL &&
+                    tmp->batPersistence == PERSISTENT) ||
                    BATcheckimprints(l)) &&
                   BATimprints(l) == GDK_SUCCEED) {
                /* implementation using imprints on left column
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to