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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list