Changeset: 73039dbd0b1c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=73039dbd0b1c
Modified Files:
        sql/common/sql_list.c
        sql/common/sql_types.c
Branch: Jan2014
Log Message:

Coverity warnings on possible NULL derefs
defense line installed. Niels to check it further


diffs (49 lines):

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
@@ -208,7 +208,7 @@ hash_delete(sql_hash *h, void *data)
        sql_hash_e *e, *p = h->buckets[key&(h->size-1)];
        
        e = p;
-       for (; p->value != data ; p = p->chain) 
+       for (;  p && p->value != data ; p = p->chain) 
                e = p;
        if (p && p->value == data) {
                if (p == e)
diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -452,7 +452,7 @@ sql_bind_aggr(sql_allocator *sa, sql_sch
                                        scale = type->scale;
                                }
                                /* same type as the input */
-                               if (a->res.type->eclass == EC_ANY) 
+                               if (a->res.type->eclass == EC_ANY && type) 
                                        sql_init_subtype(&ares->res, 
type->type, digits, scale);
                                else
                                        sql_init_subtype(&ares->res, 
a->res.type, digits, scale);
@@ -522,7 +522,7 @@ sql_bind_aggr_(sql_allocator *sa, sql_sc
                                        scale = type->scale;
                                }
                                /* same type as the input */
-                               if (a->res.type->eclass == EC_ANY) 
+                               if (a->res.type->eclass == EC_ANY && type )  
                                        sql_init_subtype(&ares->res, 
type->type, digits, scale);
                                else
                                        sql_init_subtype(&ares->res, 
a->res.type, digits, scale);
@@ -840,6 +840,7 @@ sql_bind_func_(sql_allocator *sa, sql_sc
                                                                a = n->data;
                                                        }
                                                }
+                                               assert(a);
                                                sql_init_subtype(&fres->res, 
a->type, digits, scale);
                                        } else {
                                                sql_init_subtype(&fres->res, 
f->res.type, digits, scale);
@@ -954,6 +955,7 @@ sql_bind_func_result_(sql_allocator *sa,
                                                a = n->data;
                                        }
                                }
+                               assert(a);
                                sql_init_subtype(&fres->res, a->type, 
f->res.digits, scale);
                        } else {
                                sql_init_subtype(&fres->res, f->res.type, 
f->res.digits, scale);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to