From 6394e8a10387181e1c8b0d50886987c5d57217a6 Mon Sep 17 00:00:00 2001 From: Ingo Date: Mon, 15 Dec 2014 20:55:49 +0100 Subject: [PATCH] Loading dng float files crashes on Mac OSX, Issue 2609 --- rtengine/dcraw.cc | 7 +++++-- rtengine/dcraw.patch | 15 +++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 0e37b30f1..9c9a3b554 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -8908,8 +8908,8 @@ void CLASS deflate_dng_load_raw() { #pragma omp parallel #endif { - Bytef cBuffer[maxCompressed]; - Bytef uBuffer[dstLen]; + Bytef * cBuffer = new Bytef[maxCompressed]; + Bytef * uBuffer = new Bytef[dstLen]; #ifdef _OPENMP #pragma omp for collapse(2) nowait @@ -8941,6 +8941,9 @@ void CLASS deflate_dng_load_raw() { } } } + + delete [] cBuffer; + delete [] uBuffer; } } diff --git a/rtengine/dcraw.patch b/rtengine/dcraw.patch index b7c059429..1ff01c64d 100755 --- a/rtengine/dcraw.patch +++ b/rtengine/dcraw.patch @@ -1,5 +1,5 @@ ---- dcraw.c 2014-12-12 22:44:15 +0000 -+++ dcraw.cc 2014-12-12 23:27:38 +0000 +--- dcraw.c 2014-12-15 19:12:56 +0000 ++++ dcraw.cc 2014-12-15 19:15:00 +0000 @@ -1,3 +1,15 @@ +/*RT*/#include +/*RT*/#include @@ -1112,7 +1112,7 @@ is_raw = 0; #ifdef NO_JASPER if (load_raw == &CLASS redcine_load_raw) { -@@ -8978,194 +8710,246 @@ +@@ -8978,194 +8710,249 @@ } #endif @@ -1489,8 +1489,8 @@ - if (flip & 2) row = iheight - 1 - row; - if (flip & 1) col = iwidth - 1 - col; - return row * iwidth + col; -+ Bytef cBuffer[maxCompressed]; -+ Bytef uBuffer[dstLen]; ++ Bytef * cBuffer = new Bytef[maxCompressed]; ++ Bytef * uBuffer = new Bytef[dstLen]; + +#ifdef _OPENMP +#pragma omp for collapse(2) nowait @@ -1522,6 +1522,9 @@ + } + } + } ++ ++ delete [] cBuffer; ++ delete [] uBuffer; } + } + @@ -1534,7 +1537,7 @@ struct tiff_tag { ushort tag, type; -@@ -9188,585 +8972,12 @@ +@@ -9188,585 +8975,12 @@ unsigned gps[26]; char desc[512], make[64], model[64], soft[32], date[20], artist[64]; };