From 5588dbd8d74d0cd0c689312ffa3f6815cc94fee9 Mon Sep 17 00:00:00 2001 From: Pedro Vicente Nunes Date: Wed, 11 Apr 2007 11:38:15 -0500 Subject: [svn-r13638] bug fix memory leaks tested: linux --- hl/tools/gif2h5/gif2hdf.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/hl/tools/gif2h5/gif2hdf.c b/hl/tools/gif2h5/gif2hdf.c index 99dc3fd..9906a96 100644 --- a/hl/tools/gif2h5/gif2hdf.c +++ b/hl/tools/gif2h5/gif2hdf.c @@ -109,13 +109,42 @@ main(int argv , char *argc[]) if (gifImageDesc.Image != NULL) free(gifImageDesc.Image); + + if (GifMemoryStruct.GifImageDesc[i] != NULL) + { + free(GifMemoryStruct.GifImageDesc[i]); + GifMemoryStruct.GifImageDesc[i] = NULL; + } if (GifMemoryStruct.GifGraphicControlExtension[i] != NULL) + { free(GifMemoryStruct.GifGraphicControlExtension[i]); + GifMemoryStruct.GifGraphicControlExtension[i] = NULL; + } } free(StartPos); - free(GifMemoryStruct.GifHeader); - free(GifMemoryStruct.GifApplicationExtension); + if (GifMemoryStruct.GifHeader != NULL) + { + free(GifMemoryStruct.GifHeader); + GifMemoryStruct.GifHeader = NULL; + } + if (GifMemoryStruct.GifApplicationExtension != NULL) + { + free(GifMemoryStruct.GifApplicationExtension); + GifMemoryStruct.GifApplicationExtension = NULL; + } + if (GifMemoryStruct.GifImageDesc != NULL) + { + free(GifMemoryStruct.GifImageDesc); + GifMemoryStruct.GifImageDesc = NULL; + } + if (GifMemoryStruct.GifGraphicControlExtension != NULL) + { + free(GifMemoryStruct.GifGraphicControlExtension); + GifMemoryStruct.GifGraphicControlExtension = NULL; + } + + return 0; } -- cgit v0.12