From 3819da372693efdd58db75c9f51d8d8362a9ee77 Mon Sep 17 00:00:00 2001 From: Oliver Duis Date: Tue, 26 Jun 2012 22:45:37 +0200 Subject: [PATCH] Fixed memleak when raw loading fails --- rtengine/rawimage.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/rtengine/rawimage.cc b/rtengine/rawimage.cc index a1e18566c..afdf71e0c 100644 --- a/rtengine/rawimage.cc +++ b/rtengine/rawimage.cc @@ -182,6 +182,7 @@ int RawImage::loadRaw (bool loadData, bool closeFile) if (setjmp (failure)) { if (image) { free (image); image=NULL; } + if (raw_image) { free(raw_image); raw_image=NULL; } fclose(ifp); ifp=NULL; return 100; } @@ -193,6 +194,7 @@ int RawImage::loadRaw (bool loadData, bool closeFile) if (raw_image) { crop_masked_pixels(); free (raw_image); + raw_image=NULL; } // Load embedded profile @@ -204,10 +206,10 @@ int RawImage::loadRaw (bool loadData, bool closeFile) // Setting the black and cblack unsigned int minBlack = cblack[3]; - for (int c=0; c <3; c++) - if (minBlack > cblack[c]) - minBlack = cblack[c]; + for (int c=0; c < 3; c++) + if (minBlack > cblack[c]) minBlack = cblack[c]; for (int c=0; c < 4; c++) cblack[c] -= minBlack; + black += minBlack; for (int c=0; c < 4; c++) cblack[c] += black; calcBlack=black; // safe for compatibility with darkframe substraction