Changeset: a24662ab9e7b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a24662ab9e7b
Modified Files:
        sql/backends/monet5/sql_gencode.c
Branch: Jun2020
Log Message:

While generating backend code for a SQL statement, don't free the generated 
Symbol on error, otherwise it leaves an incomplete definition on the MAL 
modules, which will trigger a crash later on


diffs (43 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
@@ -204,7 +204,6 @@ static int
        }
        if (curBlk->errors) {
                sql_error(m, 003, SQLSTATE(42000) "Internal error while 
compiling statement: %s", curBlk->errors);
-               freeSymbol(curPrg);
                return -1;
        }
 
@@ -214,7 +213,6 @@ static int
        e->card = CARD_MULTI;
        be->mvc->argc = 0;
        if (backend_dumpstmt(be, curBlk, r, 0, 1, NULL) < 0) {
-               freeSymbol(curPrg);
                if (backup)
                        c->curprg = backup;
                return -1;
@@ -241,7 +239,6 @@ static int
        }
        if (c->curprg->def->errors) {
                sql_error(m, 003, SQLSTATE(42000) "Internal error while 
compiling statement: %s", c->curprg->def->errors);
-               freeSymbol(curPrg);
                res = -1;
        }
        if (backup)
@@ -913,7 +910,6 @@ backend_dumpproc(backend *be, Client c, 
        return curPrg;
 
 cleanup:
-       freeSymbol(curPrg);
        if (backup)
                c->curprg = backup;
        return NULL;
@@ -1380,7 +1376,6 @@ backend_create_sql_func(backend *be, sql
                c->curprg = backup;
        return 0;
 cleanup:
-       freeSymbol(curPrg);
        if (backup)
                c->curprg = backup;
        return -1;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to