From 7010269f3bc74c764f5b4e9c72dd069ce34fb244 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo@altea> Date: Wed, 18 May 2016 17:56:30 +0000 Subject: [PATCH] Fix in memory leak. There were also leaks in the old code probably. --- src/vesicle.c | 1 + src/shcomplex.c | 2 +- src/tsmeasure.c | 14 ++++++++++---- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/shcomplex.c b/src/shcomplex.c index 5dc6a97..bd3a733 100644 --- a/src/shcomplex.c +++ b/src/shcomplex.c @@ -69,7 +69,7 @@ if(sph->co != NULL) free(sph->co); if(sph->ulm !=NULL) free(sph->ulm); if(sph->ulmComplex !=NULL) free(sph->ulmComplex); - + if(sph->sumUlm2 !=NULL) free(sph->sumUlm2); if(sph->Ylmi!=NULL) { for(i=0;i<sph->l;i++){ if(sph->Ylmi[i]!=NULL){ diff --git a/src/tsmeasure.c b/src/tsmeasure.c index a0769ee..6bd5f5c 100644 --- a/src/tsmeasure.c +++ b/src/tsmeasure.c @@ -34,9 +34,9 @@ } void vesicle_calculate_ulm2(ts_vesicle *vesicle){ - complex_sph_free(vesicle->sphHarmonics); + //complex_sph_free(vesicle->sphHarmonics); - vesicle->sphHarmonics=complex_sph_init(vesicle->vlist,21); + //vesicle->sphHarmonics=complex_sph_init(vesicle->vlist,21); vesicle_volume(vesicle); preparationSh(vesicle,getR0(vesicle)); calculateUlmComplex(vesicle); @@ -68,7 +68,7 @@ ent=list[n]; i=rindex(ent->d_name,'.'); if(i==NULL) { - continue; + continue; } if(strcmp(i+1,"vtu")==0){ j=rindex(ent->d_name,'_'); @@ -78,14 +78,20 @@ ts_fprintf(stdout,"timestep: %u filename: %s\n",atoi(number),ent->d_name); printf("%u ",atoi(number)); vesicle=restoreVesicle(ent->d_name); - vesicle_calculate_ulm2(vesicle); +// vesicle_calculate_ulm2(vesicle); tstep++; //vesicle_free(vesicle); free(number); + tape_free(vesicle->tape); vesicle_free(vesicle); } free(ent); } + for (n = 0; n < count; n++) + { + free(list[n]); + } + free(list); return 0; } diff --git a/src/vesicle.c b/src/vesicle.c index 4d9e5cd..bc69e62 100644 --- a/src/vesicle.c +++ b/src/vesicle.c @@ -38,6 +38,7 @@ triangle_list_free(vesicle->tlist); cell_list_free(vesicle->clist); poly_list_free(vesicle->poly_list); + poly_list_free(vesicle->filament_list); complex_sph_free(vesicle->sphHarmonics); free(vesicle); return TS_SUCCESS; -- Gitblit v1.9.3