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