Changeset: 5291548294ef for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/5291548294ef
Modified Files:
        sql/backends/monet5/sql_gencode.c
        sql/server/rel_dump.c
Branch: check
Log Message:

clean up memory management


diffs (53 lines):

diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -330,7 +330,7 @@ static int
        node *n;
        int i, q, v, res = -1, added_to_cache = 0, *lret, *rret;
        size_t len = 1024, nr, pwlen = 0;
-       char *lname = NULL, *buf = NULL, *mal_session_uuid, *err = NULL, 
*pwhash = NULL;
+       char *lname = NULL, *rel_str, *buf = NULL, *mal_session_uuid, *err = 
NULL, *pwhash = NULL;
        str username = NULL, password = NULL, msg = NULL;
        sql_rel *r = rel;
 
@@ -487,23 +487,21 @@ static int
        pushInstruction(curBlk, o);
        p = pushArgument(curBlk, p, getArg(o,0));
 
-       if (!(buf = rel2str(m, rel))) {
+       if (!(rel_str = rel2str(m, rel))) {
                freeInstruction(p);
                sql_error(m, 10, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                goto cleanup;
        }
        o = newFcnCall(curBlk, remoteRef, putRef);
        if (o == NULL) {
-               free(buf);
                freeInstruction(p);
                sql_error(m, 10, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                goto cleanup;
        }
        o = pushArgument(curBlk, o, q);
-       o = pushStr(curBlk, o, buf);    /* relational plan */
+       o = pushStr(curBlk, o, rel_str);        /* relational plan */
        pushInstruction(curBlk, o);
        p = pushArgument(curBlk, p, getArg(o,0));
-       free(buf);
 
        if (!(buf = sa_alloc(m->ta, len))) {
                freeInstruction(p);
diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -377,7 +377,10 @@ cleanup:
                buffer_destroy(b);
        if(s)
                close_stream(s);
-       return res;
+
+       char* fres = SA_STRDUP(sql->sa, res);
+       free (res);
+       return fres;
 }
 
 static void
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to