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

Reply via email to