Changeset: 62833afa6b35 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=62833afa6b35
Modified Files:
        monetdb5/extras/jaql/jaql.c
        monetdb5/extras/jaql/jaqlscenario.c
        monetdb5/extras/jaql/json.c
        sql/backends/monet5/LSST/lsst.c
        sql/backends/monet5/vaults/fits.c
Branch: Jan2014
Log Message:

Fix some potential leaks.


diffs (75 lines):

diff --git a/monetdb5/extras/jaql/jaql.c b/monetdb5/extras/jaql/jaql.c
--- a/monetdb5/extras/jaql/jaql.c
+++ b/monetdb5/extras/jaql/jaql.c
@@ -392,6 +392,7 @@ make_jaql_group(tree *inputs, tree *tmpl
                        freetree(inputs);
                        freetree(tmpl);
                        GDKfree(vars);
+                       GDKfree(res);
                        return w;
                }
                GDKfree(vars);
diff --git a/monetdb5/extras/jaql/jaqlscenario.c 
b/monetdb5/extras/jaql/jaqlscenario.c
--- a/monetdb5/extras/jaql/jaqlscenario.c
+++ b/monetdb5/extras/jaql/jaqlscenario.c
@@ -243,8 +243,8 @@ JAQLparser(Client c)
                j->timing.optimise = GDKusec();
                chkTypes(out, c->nspace, prg->def, FALSE);
                /* TODO: use a configured pipe */
-               addOptimizerPipe(c, prg->def, "minimal_pipe");
-               if ((errmsg = optimizeMALBlock(c, prg->def)) != MAL_SUCCEED) {
+               if ((errmsg = addOptimizerPipe(c, prg->def, "minimal_pipe")) != 
MAL_SUCCEED ||
+                       (errmsg = optimizeMALBlock(c, prg->def)) != 
MAL_SUCCEED) {
                        MSresetInstructions(prg->def, oldstop);
                        freeVariables(c, prg->def, c->glb, oldvtop);
                        prg->def->errors = 0;
diff --git a/monetdb5/extras/jaql/json.c b/monetdb5/extras/jaql/json.c
--- a/monetdb5/extras/jaql/json.c
+++ b/monetdb5/extras/jaql/json.c
@@ -888,7 +888,12 @@ JSONexportResult(int *ret, stream **s, i
 
        bufstr = buffer_create(8096);
        f = buffer_wastream(bufstr, "bufstr_write");
-       JSONprint(ret, &f, kind, string, integer, doble, array, object, name, 
start, &pretty);
+       line = JSONprint(ret, &f, kind, string, integer, doble, array, object, 
name, start, &pretty);
+       if (line != MAL_SUCCEED) {
+               mnstr_close(f);
+               mnstr_destroy(f);
+               return line;
+       }
 
        /* calculate width of column, and the number of tuples */
        buf = buffer_get_buf(bufstr);
diff --git a/sql/backends/monet5/LSST/lsst.c b/sql/backends/monet5/LSST/lsst.c
--- a/sql/backends/monet5/LSST/lsst.c
+++ b/sql/backends/monet5/LSST/lsst.c
@@ -409,7 +409,7 @@ str qserv_ptInSphPoly(MalBlkPtr mb, MalS
        for (i = 3; i <pci->argc; ++i) 
                nv[i-3] =  *(dbl*) getArgReference(stk,pci,i);
        _qserv_computeEdges(edges,nv, nedges);
-       
+       GDKfree(nv);
 
        /* Transform input position from spherical coordinates
           to a unit cartesian vector. */
diff --git a/sql/backends/monet5/vaults/fits.c 
b/sql/backends/monet5/vaults/fits.c
--- a/sql/backends/monet5/vaults/fits.c
+++ b/sql/backends/monet5/vaults/fits.c
@@ -920,7 +920,7 @@ str FITSloadTable(Client cntxt, MalBlkPt
                        snprintf(nm, FLEN_VALUE, "column_%d", j);
                        status = 0;
                }
-               cname[j - 1] = GDKstrdup(toLower(nm));
+               cname[j - 1] = toLower(nm);
                fits_get_coltype(fptr, j, &tpcode[j - 1], &rep[j - 1], &wid[j - 
1], &status);
                fits2subtype(&tpe, tpcode[j - 1], rep[j - 1], wid[j - 1]);
 
@@ -936,7 +936,7 @@ str FITSloadTable(Client cntxt, MalBlkPt
                BAT *tmp = NULL;
                int time0 = GDKms();
                mtype = fits2mtype(tpcode[j - 1]);
-               nilptr = ATOMnil(mtype);
+               nilptr = ATOMnilptr(mtype);
                col = mvc_bind_column(m, tbl, cname[j - 1]);
 
                tmp = BATnew(TYPE_void, mtype, rows);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to