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