Changeset: 25fdc1980a32 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=25fdc1980a32
Modified Files:
        sql/storage/bat/bat_logger.c
Branch: Jun2020
Log Message:

More va_end calls missing


diffs (66 lines):

diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -142,36 +142,29 @@ tabins(void *lg, bool first, int tt, con
        while ((cname = va_arg(va, char *)) != NULL) {
                cval = va_arg(va, void *);
                len = snprintf(lname, sizeof(lname), "%s_%s_%s", sname, tname, 
cname);
-               if (len == -1 || (size_t)len >= sizeof(lname) ||
-                       (b = temp_descriptor(logger_find_bat(lg, lname, 0, 0))) 
== NULL) {
-                       va_end(va);
+               if (len == -1 || (size_t)len >= sizeof(lname))
                        return GDK_FAIL;
-               }
+               if ((b = temp_descriptor(logger_find_bat(lg, lname, 0, 0))) == 
NULL)
+                       return GDK_FAIL;
                if (first) {
                        BAT *bn;
                        if ((bn = COLcopy(b, b->ttype, true, PERSISTENT)) == 
NULL) {
                                BBPunfix(b->batCacheid);
-                               va_end(va);
                                return GDK_FAIL;
                        }
                        BBPunfix(b->batCacheid);
                        if (BATsetaccess(bn, BAT_READ) != GDK_SUCCEED ||
                            logger_add_bat(lg, bn, lname, 0, 0) != GDK_SUCCEED) 
{
                                BBPunfix(bn->batCacheid);
-                               va_end(va);
                                return GDK_FAIL;
                        }
                        b = bn;
                }
                rc = BUNappend(b, cval, true);
                BBPunfix(b->batCacheid);
-               if (rc != GDK_SUCCEED) {
-                       va_end(va);
+               if (rc != GDK_SUCCEED)
                        return rc;
-               }
        }
-       va_end(va);
-
        if (tt >= 0) {
                if ((b = COLnew(0, tt, 0, PERSISTENT)) == NULL)
                        return GDK_FAIL;
@@ -920,16 +913,20 @@ bl_find_table_value(const char *tabnam, 
                b = temp_descriptor(logger_find_bat(bat_logger, tab, 0, 0));
                if (b == NULL) {
                        bat_destroy(s);
+                       va_end(va);
                        return NULL;
                }
                BAT *t = BATselect(b, s, val, val, 1, 1, 0);
                bat_destroy(b);
                bat_destroy(s);
-               if (t == NULL)
+               if (t == NULL) {
+                       va_end(va);
                        return NULL;
+               }
                s = t;
                if (BATcount(s) == 0) {
                        bat_destroy(s);
+                       va_end(va);
                        return NULL;
                }
        } while ((tab = va_arg(va, const char *)) != NULL &&
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to