7c84fe77d95b0733fcd4b27d8cbdfc038c1a8d5c angie Wed May 1 09:47:25 2019 -0700 lmCleanup: null out *pLm before freeing lm, to make valgrind --leak-check=full -v happy. diff --git src/lib/localmem.c src/lib/localmem.c index 012879c..706ad15 100644 --- src/lib/localmem.c +++ src/lib/localmem.c @@ -57,33 +57,33 @@ if (blockSize <= 0) blockSize = (1<<14); /* 16k default. */ lm->blockSize = blockSize; lm->allignAdd = (aliSize-1); lm->allignMask = ~lm->allignAdd; newBlock(lm, blockSize); return lm; } void lmCleanup(struct lm **pLm) /* Clean up a local memory pool. */ { struct lm *lm = *pLm; if (lm == NULL) return; + *pLm = NULL; slFreeList(&lm->blocks); freeMem(lm); - *pLm = NULL; } size_t lmAvailable(struct lm *lm) // Returns currently available memory in pool { struct lmBlock *mb = lm->blocks; return (mb->end - mb->free); } size_t lmSize(struct lm *lm) // Returns current size of pool, even for memory already allocated { size_t fullSize = 0; struct lmBlock *mb = lm->blocks;