Changeset: 00dcf9de893b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/00dcf9de893b
Modified Files:
        gdk/gdk.h
        sql/backends/monet5/sql.c
Branch: strheapvacuum
Log Message:

fix memory allocation


diffs (30 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2383,12 +2383,12 @@ gdk_export BAT *BATsample_with_seed(BAT 
 typedef struct gdk_callback {
        char *name;
        int argc;
-       int interval;  // units sec or ms??
+       int interval;  // units sec
        lng last_called; // timestamp GDKusec
        gdk_return (*func)(int argc, void *argv[]);
        gdk_return (*argsfree)(int argc, void *argv[]);
        struct gdk_callback *next;
-       void *argv[];
+       void *argv[FLEXIBLE_ARRAY_MEMBER];
 } gdk_callback;
 
 typedef struct gdk_callback_list {
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -5161,7 +5161,7 @@ SQLstr_column_auto_vacuum(Client cntxt, 
        if ((c = mvc_bind_column(m, t, cname)) == NULL)
                throw(SQL, "sql.str_column_auto_vacuum", SQLSTATE(42S22) 
"Column not found %s.%s",sname,tname);
        // register callback
-       if (!(callback = GDKmalloc(sizeof(gdk_callback))))
+       if (!(callback = GDKmalloc(sizeof(gdk_callback) + sizeof(void *) * 4)))
                return createException(SQL, "sql.str_column_auto_vacuum", 
SQLSTATE(HY013) MAL_MALLOC_FAIL);
        *callback = (gdk_callback) {
                .name = "str_column_vacuum",
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to