Changeset: 742adcb27046 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=742adcb27046
Modified Files:
        sql/backends/monet5/vaults/bam/mykstring.h
        sql/storage/bat/bat_table.c
Branch: Jul2017
Log Message:

Close va_start always with va_end.


diffs (71 lines):

diff --git a/sql/backends/monet5/vaults/bam/mykstring.h 
b/sql/backends/monet5/vaults/bam/mykstring.h
--- a/sql/backends/monet5/vaults/bam/mykstring.h
+++ b/sql/backends/monet5/vaults/bam/mykstring.h
@@ -51,8 +51,8 @@ static int ksprintf(kstring_t *s, const 
                s->s = (char*)realloc(s->s, s->m);
                va_start(ap, fmt);
                l = vsnprintf(s->s + s->l, s->m - s->l, fmt, ap);
+               va_end(ap);
        }
-       va_end(ap);
        s->l += l;
        return l;
 }
diff --git a/sql/storage/bat/bat_table.c b/sql/storage/bat/bat_table.c
--- a/sql/storage/bat/bat_table.c
+++ b/sql/storage/bat/bat_table.c
@@ -154,17 +154,17 @@ column_find_row(sql_trans *tr, sql_colum
        va_start(va, value);
        s = delta_cands(tr, c->t);
        if (!s)
-               return oid_nil;
+               goto return_nil;
        b = full_column(tr, c);
        if (!b) {
                bat_destroy(s);
-               return oid_nil;
+               goto return_nil;
        }
        r = BATselect(b, s, value, NULL, 1, 0, 0);
        bat_destroy(s);
        full_destroy(c, b);
        if (!r)
-               return oid_nil;
+               goto return_nil;
        s = r;
        while ((n = va_arg(va, sql_column *)) != NULL) {
                value = va_arg(va, void *);
@@ -173,13 +173,13 @@ column_find_row(sql_trans *tr, sql_colum
                b = full_column(tr, c);
                if (!b) {
                        bat_destroy(s);
-                       return oid_nil;
+                       goto return_nil;
                }
                r = BATselect(b, s, value, NULL, 1, 0, 0);
                bat_destroy(s);
                full_destroy(c, b);
                if (!r)
-                       return oid_nil;
+                       goto return_nil;
                s = r;
        }
        va_end(va);
@@ -189,6 +189,9 @@ column_find_row(sql_trans *tr, sql_colum
        }
        bat_destroy(s);
        return rid;
+  return_nil:
+       va_end(va);
+       return oid_nil;
 }
 
 static void *
@@ -322,6 +325,7 @@ rids_select( sql_trans *tr, sql_column *
                        full_destroy(key, b);
                        if (s == NULL) {
                                GDKfree(rs);
+                               va_end(va);
                                return NULL;
                        }
                }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to