diff --git a/libraw-CVE-2017-6887,6886.patch b/libraw-CVE-2017-6887,6886.patch index fcc1e36..1c23a6a 100644 --- a/libraw-CVE-2017-6887,6886.patch +++ b/libraw-CVE-2017-6887,6886.patch @@ -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: