Petr Gajdos 2017-05-23 08:33:35 +00:00 committed by Git OBS Bridge
parent 2a363e1fd3
commit 620f19a173

View File

@ -10,20 +10,25 @@ Subject: [PATCH] Secunia SA75000 advisory: several buffer overruns
Index: LibRaw-0.18.2/dcraw/dcraw.c
===================================================================
--- LibRaw-0.18.2.orig/dcraw/dcraw.c 2017-05-23 09:32:51.733561941 +0200
+++ LibRaw-0.18.2/dcraw/dcraw.c 2017-05-23 09:38:40.867531376 +0200
@@ -5842,6 +5842,10 @@ int CLASS parse_tiff_ifd (int base)
--- LibRaw-0.18.2.orig/dcraw/dcraw.c 2017-05-23 10:30:39.264790336 +0200
+++ LibRaw-0.18.2/dcraw/dcraw.c 2017-05-23 10:33:01.327208294 +0200
@@ -5841,8 +5841,14 @@ int CLASS parse_tiff_ifd (int base)
if (!strcmp(model,"DSLR-A100") && tiff_ifd[ifd].width == 3872) {
load_raw = &CLASS sony_arw_load_raw;
data_offset = get4()+base;
ifd++; break;
- ifd++; break;
+ ifd++;
+#ifdef LIBRAW_LIBRARY_BUILD
+ if (ifd >= sizeof tiff_ifd / sizeof tiff_ifd[0])
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
+#endif
}
+ /* not sure what is meant by that :) */
+ break;
while (len--) {
i = ftell(ifp);
@@ -6005,6 +6009,8 @@ int CLASS parse_tiff_ifd (int base)
fseek (ifp, get4()+base, SEEK_SET);
@@ -6005,6 +6011,8 @@ int CLASS parse_tiff_ifd (int base)
break;
case 50454: /* Sinar tag */
case 50455: