Changeset: 34279ece17b7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=34279ece17b7
Modified Files:
        clients/mapiclient/ReadlineTools.c
        clients/mapiclient/mclient.c
        clients/mapiclient/tomograph.c
        common/utils/mcrypt.c
        common/utils/msabaoth.c
        common/utils/mutils.c
        gdk/gdk_search.c
        sql/server/sql_mvc.c
        tools/mserver/monet_version.c.in
        tools/mserver/mserver5.c
Branch: Jan2014
Log Message:

Coverity fixes.


diffs (260 lines):

diff --git a/clients/mapiclient/ReadlineTools.c 
b/clients/mapiclient/ReadlineTools.c
--- a/clients/mapiclient/ReadlineTools.c
+++ b/clients/mapiclient/ReadlineTools.c
@@ -212,8 +212,9 @@ mal_help(int cnt, int key)
 
        printf("\n");
        while (seekpos < rowcount) {
-               mapi_seek_row(table_hdl, seekpos++, MAPI_SEEK_SET);
-               mapi_fetch_row(table_hdl);
+               if (mapi_seek_row(table_hdl, seekpos++, MAPI_SEEK_SET) != MOK ||
+                   mapi_fetch_row(table_hdl) <= 0)
+                       continue;
                name = mapi_fetch_field(table_hdl, 0);
                if (name)
                        printf("%s\n", name);
@@ -279,8 +280,9 @@ mal_command_generator(const char *text, 
        }
 
        while (seekpos < rowcount) {
-               mapi_seek_row(table_hdl, seekpos++, MAPI_SEEK_SET);
-               mapi_fetch_row(table_hdl);
+               if (mapi_seek_row(table_hdl, seekpos++, MAPI_SEEK_SET) != MOK ||
+                   mapi_fetch_row(table_hdl) <= 0)
+                       continue;
                name = mapi_fetch_field(table_hdl, 0);
                if (name)
                        return strdup(name);
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -668,8 +668,7 @@ CSVrenderer(MapiHdl hdl)
                        s = mapi_get_name(hdl, i);
                        if (s == NULL)
                                s = "";
-                       mnstr_printf(toConsole, "%s%s",
-                                    i == 0 ? "" : sep, s ? s : "");
+                       mnstr_printf(toConsole, "%s%s", i == 0 ? "" : sep, s);
                }
                mnstr_printf(toConsole, "\n");
        }
@@ -1533,6 +1532,7 @@ format_result(Mapi mid, MapiHdl hdl, cha
                                              "execute prepared statement "
                                              "using: EXEC %d(...)\n",
                                              mapi_get_tableid(hdl));
+                       /* fall through */
                case Q_TABLE:
                        timerHumanStop();
                        break;
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -1866,7 +1866,7 @@ parser(char *row)
        }
 
        if (fcn && (v=strchr(fcn, '(')))
-               v = 0;
+               *v = 0;
 
 #ifdef FOOTPRINT
 wrapup:
diff --git a/common/utils/mcrypt.c b/common/utils/mcrypt.c
--- a/common/utils/mcrypt.c
+++ b/common/utils/mcrypt.c
@@ -250,18 +250,25 @@ mcrypt_RIPEMD160Sum(const char *string, 
 char *
 mcrypt_BackendSum(const char *string, size_t len)
 {
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB5_PASSWDHASH, "RIPEMD160") == 0)
                return mcrypt_RIPEMD160Sum(string, len);
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB5_PASSWDHASH, "SHA512") == 0)
                return mcrypt_SHA512Sum(string, len);
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB5_PASSWDHASH, "SHA384") == 0)
                return mcrypt_SHA384Sum(string, len);
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB5_PASSWDHASH, "SHA256") == 0)
                return mcrypt_SHA256Sum(string, len);
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB5_PASSWDHASH, "SHA224") == 0)
                return mcrypt_SHA224Sum(string, len);
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB5_PASSWDHASH, "SHA1") == 0)
                return mcrypt_SHA1Sum(string, len);
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB5_PASSWDHASH, "MD5") == 0)
                return mcrypt_MD5Sum(string, len);
        assert(0); /* should never get reached, backend would be unsupported */
diff --git a/common/utils/msabaoth.c b/common/utils/msabaoth.c
--- a/common/utils/msabaoth.c
+++ b/common/utils/msabaoth.c
@@ -292,15 +292,17 @@ msab_retreatScenario(const char *lang)
                                unlink(path);
                                return(NULL);
                        }
-               } else if (len == 0) {
+               } else {
+                       if (ferror(f)) {
+                               /* some error */
+                               snprintf(buf, sizeof(buf), "failed to write: %s 
(%s)",
+                                        strerror(errno), path);
+                               (void)fclose(f);
+                               return strdup(buf);
+                       } else
+                               unlink(path);  /* empty file? try to remove */
                        (void)fclose(f);
-                       unlink(path);  /* empty file? try to remove */
                        return(NULL);
-               } else { /* some error */
-                       (void)fclose(f);
-                       snprintf(buf, sizeof(buf), "failed to write: %s (%s)",
-                                       strerror(errno), path);
-                       return(strdup(buf));
                }
        }
        snprintf(buf, sizeof(buf), "failed to open file: %s (%s)",
@@ -419,13 +421,15 @@ msab_registerStarting(void)
 
        /* we treat errors here (albeit being quite unlikely) as non-fatal,
         * since they will cause wrong state information in the worst case
-        * lateron */
+        * later on */
        if ((tmp = getDBPath(&path, PATHLENGTH, _sabaoth_internal_uuid)) != 
NULL) {
                free(tmp);
                return(NULL);
        }
-       fclose(fopen(path, "w"));
-       
+       f = fopen(path, "w");
+       if (f)
+               fclose(f);
+
        /* remove any stray file that would suggest we've finished starting up 
*/
        if ((tmp = getDBPath(&path, PATHLENGTH, STARTEDFILE)) != NULL)
                return(tmp);
@@ -446,11 +450,16 @@ msab_registerStarted(void)
        char pathbuf[PATHLENGTH];
        char *path = pathbuf;
        char *tmp;
+       FILE *fp;
 
        /* flag this database as started up */
        if ((tmp = getDBPath(&path, PATHLENGTH, STARTEDFILE)) != NULL)
                return(tmp);
-       fclose(fopen(path, "w"));
+       fp = fopen(path, "w");
+       if (fp)
+               fclose(fp);
+       else
+               return strdup("sabaoth cannot create " STARTEDFILE);
 
        return(NULL);
 }
@@ -1134,8 +1143,8 @@ msab_deserialise(sabdb **ret, char *sdb)
        if ((p = strchr(p, ',')) != NULL) {
                free(u);
                snprintf(buf, sizeof(buf), 
-                               "string does contain additional garbage after 
crashavg30: %s",
-                               lasts);
+                               "string contains additional garbage after 
crashavg30: %s",
+                               p);
                return(strdup(buf));
        }
        u->crashavg30 = atof(lasts);
diff --git a/common/utils/mutils.c b/common/utils/mutils.c
--- a/common/utils/mutils.c
+++ b/common/utils/mutils.c
@@ -324,7 +324,8 @@ lockf(int fd, int cmd, off_t len)
 #endif
 /* returns -1 when locking failed,
  * returns -2 when the lock file could not be opened/created
- * returns the (open) file descriptor to the file otherwise */
+ * returns the (open) file descriptor to the file when locking
+ * returns 0 when unlocking */
 int
 MT_lockf(char *filename, int mode, off_t off, off_t len)
 {
@@ -335,9 +336,13 @@ MT_lockf(char *filename, int mode, off_t
 
        if (lseek(fd, off, SEEK_SET) >= 0 &&
            lockf(fd, mode, len) == 0) {
+               if (mode == F_ULOCK) {
+                       close(fd);
+                       return 0;
+               }
                /* do not close else we lose the lock we want */
                (void) lseek(fd, 0, SEEK_SET); /* move seek pointer back */
-               return mode == F_ULOCK ? 0 : fd;
+               return fd;
        }
        close(fd);
        return -1;
diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c
--- a/gdk/gdk_search.c
+++ b/gdk/gdk_search.c
@@ -253,6 +253,7 @@ BAThash(BAT *b, BUN masksize)
                bat p = VIEWhparent(b);
                o = b;
                b = BATdescriptor(p);
+               assert(b != NULL);
                if (!ALIGNsynced(o, b) || BUNfirst(o) != BUNfirst(b)) {
                        BBPunfix(b->batCacheid);
                        b = o;
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -642,7 +642,7 @@ mvc_bind_table(mvc *m, sql_schema *s, ch
        if (!t)
                return NULL;
        if (mvc_debug)
-               fprintf(stderr, "#mvc_bind_table %s.%s\n", s->base.name, tname);
+               fprintf(stderr, "#mvc_bind_table %s.%s\n", s ? s->base.name : 
"<noschema>", tname);
 
        return t;
 }
diff --git a/tools/mserver/monet_version.c.in b/tools/mserver/monet_version.c.in
--- a/tools/mserver/monet_version.c.in
+++ b/tools/mserver/monet_version.c.in
@@ -38,11 +38,13 @@ monet_version(void)
        cores = MT_check_nr_cores();
 
        printf("MonetDB 5 server v" VERSION " ");
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB_RELEASE, "unreleased") != 0)
                printf("\"%s\" ", MONETDB_RELEASE);
        printf("(" SZFMT "-bit, " SZFMT "-bit oids)\n",
                        (size_t) (sizeof(ptr) * 8),
                        (size_t) (sizeof(oid) * 8));
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB_RELEASE, "unreleased") == 0)
                printf("This is an unreleased version\n");
        printf("Copyright (c) 1993-July 2008 CWI\n"
diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c
--- a/tools/mserver/mserver5.c
+++ b/tools/mserver/mserver5.c
@@ -135,6 +135,7 @@ monet_hello(void)
        }
 
        printf("# MonetDB 5 server v" VERSION);
+       /* coverity[pointless_string_compare] */
        if (strcmp(MONETDB_RELEASE, "unreleased") == 0)
                printf("\n# This is an unreleased version");
        else
@@ -378,6 +379,7 @@ main(int argc, char **av)
                        usage(prog, -1);
                /* not reached */
                case 'c':
+                       /* coverity[var_deref_model] */
                        setlen = mo_add_option(&set, setlen, opt_cmdline, 
"config", optarg);
                        break;
                case 'd':
@@ -392,6 +394,7 @@ main(int argc, char **av)
                        break;
                case 's': {
                        /* should add option to a list */
+                       /* coverity[var_deref_model] */
                        char *tmp = strchr(optarg, '=');
 
                        if (tmp) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to