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