Mercurial > hg > audiodb
changeset 315:d2c56d4f841e
Fixed memory leak in query_loop_points(). Was causing memalloc failure on multiple WS queries with lsh_exact flag on
author | mas01mc |
---|---|
date | Tue, 12 Aug 2008 14:25:51 +0000 |
parents | b671a46873c2 |
children | 25572f1bd37f c93be2f3a674 |
files | Makefile query.cpp |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile Tue Aug 12 01:21:44 2008 +0000 +++ b/Makefile Tue Aug 12 14:25:51 2008 +0000 @@ -14,7 +14,7 @@ ifeq ($(shell uname),Darwin) ifeq ($(shell sysctl -n hw.optional.x86_64),1) -#override CFLAGS+=-arch x86_64 +override CFLAGS+=-arch x86_64 endif endif
--- a/query.cpp Tue Aug 12 01:21:44 2008 +0000 +++ b/query.cpp Tue Aug 12 14:25:51 2008 +0000 @@ -476,7 +476,7 @@ void audioDB::query_loop_points(double* query, double* qnPtr, double* qpPtr, double meanQdur, Uns32T numVectors){ unsigned int dbVectors; - double *sNorm, *snPtr, *sPower = 0, *spPtr = 0; + double *sNorm = 0, *snPtr, *sPower = 0, *spPtr = 0; double *meanDBdur = 0; // check pre-conditions @@ -530,6 +530,13 @@ } exact_evaluation_queue->pop(); } + // Cleanup + if(sNorm) + delete sNorm; + if(sPower) + delete sPower; + if(meanDBdur) + delete meanDBdur; } // A completely unprotected dot-product method