Blame SOURCES/libkdcraw-4.10.5-CVE-2013-2126.patch

2b0930
diff -up libkdcraw-4.10.5/libraw/src/libraw_cxx.cpp.CVE-2013-2126 libkdcraw-4.10.5/libraw/src/libraw_cxx.cpp
2b0930
--- libkdcraw-4.10.5/libraw/src/libraw_cxx.cpp.CVE-2013-2126	2013-07-15 14:39:22.000000000 +0200
2b0930
+++ libkdcraw-4.10.5/libraw/src/libraw_cxx.cpp	2013-07-15 14:45:31.000000000 +0200
2b0930
@@ -1055,8 +1055,8 @@ int LibRaw::unpack(void)
2b0930
                 S.iheight= S.height;
2b0930
                 IO.shrink = 0;
2b0930
                 // allocate image as temporary buffer, size 
2b0930
-                imgdata.rawdata.raw_alloc = calloc(S.iwidth*S.iheight,sizeof(*imgdata.image));
2b0930
-                imgdata.image = (ushort (*)[4]) imgdata.rawdata.raw_alloc;
2b0930
+                imgdata.rawdata.raw_alloc = 0;
2b0930
+                imgdata.image = (ushort (*)[4]) calloc(S.iwidth*S.iheight,sizeof(*imgdata.image));
2b0930
               }
2b0930
             ID.input->seek(libraw_internal_data.unpacker_data.data_offset, SEEK_SET);
2b0930
             (this->*load_raw)();
2b0930
@@ -1073,8 +1073,8 @@ int LibRaw::unpack(void)
2b0930
         // recover saved
2b0930
         if( decoder_info.decoder_flags & LIBRAW_DECODER_LEGACY)
2b0930
             {
2b0930
+                imgdata.rawdata.raw_alloc = imgdata.rawdata.color_image = imgdata.image;
2b0930
                 imgdata.image = 0; 
2b0930
-                imgdata.rawdata.color_image = (ushort (*)[4]) imgdata.rawdata.raw_alloc;
2b0930
             }
2b0930
 
2b0930
         // recover image sizes