From 899765845196007c695a2f858dbe3a41b8db4a2b Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Sun, 7 Mar 2021 19:14:19 -0500 Subject: SD-VBS: Fix memory leaks and tweak allocation bounds - Fix leaks in localization, multi_ncut, svm, and texture_synthesis - Lower preallocation for sift and texture_synthesis to match memory profile with QCIF - Remove trailing whitespace in script_localization.c --- SD-VBS/benchmarks/svm/src/c/script_svm.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'SD-VBS/benchmarks/svm') diff --git a/SD-VBS/benchmarks/svm/src/c/script_svm.c b/SD-VBS/benchmarks/svm/src/c/script_svm.c index f1ce963..d77291c 100644 --- a/SD-VBS/benchmarks/svm/src/c/script_svm.c +++ b/SD-VBS/benchmarks/svm/src/c/script_svm.c @@ -16,7 +16,7 @@ int main(int argc, char* argv[]) int iter, N, Ntst, i, j, k, n; F2D* trn1, *tst1, *trn2, *tst2, *Yoffset; alphaRet* alpha; - F2D *a_result, *result; + F2D *a_result, *result = NULL; F2D *s; F2D *b_result; F2D *Xtst, *Ytst; @@ -87,6 +87,10 @@ int main(int argc, char* argv[]) tst2 = readFile(im1); for_each_job { + // Clear the results from our last job + if (result) + fFreeHandle(result); + alpha = getAlphaFromTrainSet(N, trn1, trn2, iter); a_result = alpha->a_result; b_result = alpha->b_result; @@ -133,6 +137,14 @@ int main(int argc, char* argv[]) fFreeHandle(s); asubsref(result,n) = maxs; } + + fFreeHandle(Yoffset); + fFreeHandle(alpha->a_result); + fFreeHandle(alpha->b_result); + fFreeHandle(alpha->X); + free(alpha); + fFreeHandle(Xtst); + fFreeHandle(Ytst); } #ifdef CHECK @@ -154,14 +166,7 @@ int main(int argc, char* argv[]) fFreeHandle(tst1); fFreeHandle(trn2); fFreeHandle(tst2); - fFreeHandle(Yoffset); fFreeHandle(result); - fFreeHandle(alpha->a_result); - fFreeHandle(alpha->b_result); - fFreeHandle(alpha->X); - free(alpha); - fFreeHandle(Xtst); - fFreeHandle(Ytst); WRITE_TO_FILE return 0; } -- cgit v1.2.2