Changeset: 8710a302a577 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8710a302a577
Modified Files:
monetdb5/optimizer/opt_generator.c
sql/storage/store.c
Branch: Jul2015
Log Message:
fixed some memory leaks
diffs (57 lines):
diff --git a/monetdb5/optimizer/opt_generator.c
b/monetdb5/optimizer/opt_generator.c
--- a/monetdb5/optimizer/opt_generator.c
+++ b/monetdb5/optimizer/opt_generator.c
@@ -53,7 +53,7 @@ int
OPTgeneratorImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci)
{
InstrPtr p,q, *old, *series;
- int i, k, limit, actions=0;
+ int i, k, limit, slimit, actions=0;
str m;
str bteRef = getName("bte",3);
str shtRef = getName("sht",3);
@@ -69,6 +69,7 @@ OPTgeneratorImplementation(Client cntxt,
series = (InstrPtr*) GDKzalloc(sizeof(InstrPtr) * mb->vtop);
old = mb->stmt;
limit = mb->stop;
+ slimit = mb->ssize;
if (newMalBlkStmt(mb, mb->ssize) < 0) {
GDKfree(series);
return 0;
@@ -76,7 +77,7 @@ OPTgeneratorImplementation(Client cntxt,
for( i=0; i < limit; i++){
p = old[i];
- if ( p->token == ENDsymbol){
+ if (p->token == ENDsymbol){
pushInstruction(mb,p);
break;
}
@@ -147,6 +148,9 @@ OPTgeneratorImplementation(Client cntxt,
}
for (i++; i < limit; i++)
pushInstruction(mb, old[i]);
+ for (; i < slimit; i++)
+ if (old[i])
+ freeInstruction(old[i]);
GDKfree(old);
GDKfree(series);
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -3112,12 +3112,10 @@ reset_column(sql_trans *tr, sql_column *
fc->unique = pfc->unique;
fc->storage_type = NULL;
if (pfc->storage_type)
- fc->storage_type = sa_strdup(tr->sa, pfc->storage_type);
- if (fc->def)
- sa_strdup(tr->sa, fc->def);
+ fc->storage_type = pfc->storage_type;
fc->def = NULL;
if (pfc->def)
- fc->def = sa_strdup(tr->sa, pfc->def);
+ fc->def = pfc->def;
fc->base.wtime = fc->base.rtime = 0;
}
return LOG_OK;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list