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

Check for memory leak.


diffs (26 lines):

diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -622,15 +622,19 @@ SQLstatementIntern(Client c, str *expr, 
 
                if (err || c->curprg->def->errors || msg) {
                        /* restore the state */
+                       char *error = NULL;
                        MSresetInstructions(c->curprg->def, oldstop);
                        freeVariables(c, c->curprg->def, c->glb, oldvtop);
                        c->curprg->def->errors = 0;
                        if (strlen(m->errstr) > 6 && m->errstr[5] == '!')
-                               msg = createException(PARSE, "SQLparser", "%s", 
m->errstr);
+                               error = createException(PARSE, "SQLparser", 
"%s", m->errstr);
                        else if (*m->errstr)
-                               msg = createException(PARSE, "SQLparser", 
SQLSTATE(42000) "%s", m->errstr);
+                               error = createException(PARSE, "SQLparser", 
SQLSTATE(42000) "%s", m->errstr);
                        else
-                               msg = createException(PARSE, "SQLparser", 
SQLSTATE(42000) "%s", msg);
+                               error = createException(PARSE, "SQLparser", 
SQLSTATE(42000) "%s", msg);
+                       if (msg)
+                               freeException(msg);
+                       msg = error;
                        *m->errstr = 0;
                        goto endofcompile;
                }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to