From b113dfeb73071387fe75162ad95ba631b6ebd805 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 25 Nov 2002 16:30:34 +0000 Subject: [PATCH] Added extra check to the freeing of memory. --- src/osgPlugins/rgb/ReaderWriterRGB.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/osgPlugins/rgb/ReaderWriterRGB.cpp b/src/osgPlugins/rgb/ReaderWriterRGB.cpp index 42ceb692a..dbeb628e1 100644 --- a/src/osgPlugins/rgb/ReaderWriterRGB.cpp +++ b/src/osgPlugins/rgb/ReaderWriterRGB.cpp @@ -83,17 +83,21 @@ static void ConvertLong(GLuint *array, long length) static void RawImageClose(rawImageRec *raw) { - fclose(raw->file); - free(raw->tmp); - free(raw->tmpR); - free(raw->tmpG); - free(raw->tmpB); - free(raw->tmpA); - - free(raw->rowStart); - free(raw->rowSize); + if (raw) + { + fclose(raw->file); + + if (raw->tmp) free(raw->tmp); + if (raw->tmpR) free(raw->tmpR); + if (raw->tmpG) free(raw->tmpG); + if (raw->tmpB) free(raw->tmpB); + if (raw->tmpA) free(raw->tmpA); - free(raw); + if (raw->rowStart) free(raw->rowStart); + if (raw->rowSize) free(raw->rowSize); + + free(raw); + } }