summaryrefslogtreecommitdiff
path: root/dcraw-CVE-2017-14608.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dcraw-CVE-2017-14608.patch')
-rw-r--r--dcraw-CVE-2017-14608.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/dcraw-CVE-2017-14608.patch b/dcraw-CVE-2017-14608.patch
new file mode 100644
index 0000000..8f7de24
--- /dev/null
+++ b/dcraw-CVE-2017-14608.patch
@@ -0,0 +1,21 @@
+diff -urNp old/dcraw.c new/dcraw.c
+--- old/dcraw.c 2018-07-11 10:53:51.141803505 +0200
++++ new/dcraw.c 2018-07-11 11:30:08.850528389 +0200
+@@ -2627,8 +2627,15 @@ void CLASS kodak_65000_load_raw()
+ len = MIN (256, width-col);
+ ret = kodak_65000_decode (buf, len);
+ for (i=0; i < len; i++)
+- if ((RAW(row,col+i) = curve[ret ? buf[i] :
+- (pred[i & 1] += buf[i])]) >> 12) derror();
++ {
++ int idx = ret ? buf[i] : (pred[i & 1] += buf[i]);
++ if(idx >=0 && idx <= 0xffff)
++ {
++ if ((RAW(row,col+i) = curve[idx]) >> 12) derror();
++ }
++ else
++ derror();
++ }
+ }
+ }
+