File libraw-SA81000.patch of Package libraw.27864
Index: LibRaw-0.17.1/internal/dcraw_common.cpp
===================================================================
--- LibRaw-0.17.1.orig/internal/dcraw_common.cpp 2018-03-12 11:35:10.032313968 +0100
+++ LibRaw-0.17.1/internal/dcraw_common.cpp 2018-03-12 11:40:22.553739951 +0100
@@ -1951,6 +1951,10 @@ void CLASS leaf_hdr_load_raw()
unsigned tile=0, r, c, row, col;
if (!filters) {
+#ifdef LIBRAW_LIBRARY_BUILD
+ if(!image)
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
+#endif
pixel = (ushort *) calloc (raw_width, sizeof *pixel);
merror (pixel, "leaf_hdr_load_raw()");
}
@@ -2400,6 +2404,10 @@ void CLASS quicktake_100_load_raw()
654,665,676,687,698,710,721,732,743,754,766,777,788,799,810,822,833,844,
855,866,878,889,900,911,922,933,945,956,967,978,989,1001,1012,1023 };
int rb, row, col, sharp, val=0;
+#ifdef LIBRAW_LIBRARY_BUILD
+ if(width>640 || height > 480)
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
+#endif
getbits(-1);
memset (pixel, 0x80, sizeof pixel);