Changeset: be60b184d581 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=be60b184d581 Modified Files: monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_querylog.c monetdb5/optimizer/opt_statistics.c sql/common/sql_list.c Branch: Jan2014 Log Message:
Defense against NULL pointer. Coverity diffs (67 lines): diff --git a/monetdb5/optimizer/opt_pushselect.c b/monetdb5/optimizer/opt_pushselect.c --- a/monetdb5/optimizer/opt_pushselect.c +++ b/monetdb5/optimizer/opt_pushselect.c @@ -398,10 +398,10 @@ OPTpushselectImplementation(Client cntxt q = mb->stmt[vars[var]]; } if (subselect_find_subselect(&subselects, var) > 0) { - InstrPtr q = newAssignment(mb); + InstrPtr qq = newAssignment(mb); - getArg(q, 0) = getArg(p, 0); - q = pushArgument(mb, q, getArg(p, 1)); + getArg(qq, 0) = getArg(p, 0); + qq = pushArgument(mb, qq, getArg(p, 1)); actions++; freeInstruction(p); continue; diff --git a/monetdb5/optimizer/opt_querylog.c b/monetdb5/optimizer/opt_querylog.c --- a/monetdb5/optimizer/opt_querylog.c +++ b/monetdb5/optimizer/opt_querylog.c @@ -92,7 +92,7 @@ OPTquerylogImplementation(Client cntxt, q = pushReturn(mb,q,iowait); q = newAssignment(mb); tuples= getArg(q,0) = newVariable(mb,GDKstrdup("tuples"),TYPE_wrd); - q= pushWrd(mb,q,1); + (void) pushWrd(mb,q,1); for (i = 1; i < limit; i++) { p = old[i]; diff --git a/monetdb5/optimizer/opt_statistics.c b/monetdb5/optimizer/opt_statistics.c --- a/monetdb5/optimizer/opt_statistics.c +++ b/monetdb5/optimizer/opt_statistics.c @@ -58,7 +58,7 @@ QOT_create(str hnme, str tnme, int tt) static void QOTstatisticsInit(void){ oid o=0; - int i; + int i,j; if (qotStat[QOTnames]) return; #ifdef NEED_MT_LOCK_INIT @@ -78,11 +78,8 @@ static void QOTstatisticsInit(void){ /* recover from errors */ for ( i=0; i<4; i++) if ( qotStat[i] == NULL){ - for (i= 0; i<4; i++){ - if (qotStat[i] ) - BBPclear(qotStat[i]->batCacheid); - qotStat[i] = NULL; - } + for (j= 0; j < i; j++) + BBPclear(qotStat[j]->batCacheid); MT_lock_unset(&qotlock, "QOT statistics"); return; } diff --git a/sql/common/sql_list.c b/sql/common/sql_list.c --- a/sql/common/sql_list.c +++ b/sql/common/sql_list.c @@ -230,7 +230,7 @@ list_remove_node(list *l, node *n) if (p == n) { l->h = n->next; p = NULL; - } else { + } else if ( p != NULL) { p->next = n->next; } if (n == l->t) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list