22 lines
602 B
Diff
22 lines
602 B
Diff
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();
|
|
+ }
|
|
}
|
|
}
|
|
|