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