equal
deleted
inserted
replaced
|
1 # This comes from upstream: |
|
2 # http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=25128 |
|
3 |
|
4 --- ImageMagick-6.8.3/coders/psd.c 2013-01-23 15:50:19.000000000 -0800 |
|
5 +++ ImageMagick-6.8.3/coders/psd.c 2014-03-03 07:53:58.415170102 -0800 |
|
6 @@ -269,13 +269,15 @@ |
|
7 packets=(ssize_t) number_compact_pixels; |
|
8 for (i=0; (packets > 1) && (i < (ssize_t) number_pixels); ) |
|
9 { |
|
10 - length=(*compact_pixels++); |
|
11 + length=(size_t) (*compact_pixels++); |
|
12 packets--; |
|
13 if (length == 128) |
|
14 continue; |
|
15 if (length > 128) |
|
16 { |
|
17 length=256-length+1; |
|
18 + if ((ssize_t) length + i > (ssize_t) number_pixels) |
|
19 + length=number_pixels-(size_t) i; |
|
20 pixel=(*compact_pixels++); |
|
21 packets--; |
|
22 for (j=0; j < (ssize_t) length; j++) |
|
23 @@ -322,6 +324,8 @@ |
|
24 continue; |
|
25 } |
|
26 length++; |
|
27 + if ((ssize_t) length + i > (ssize_t) number_pixels) |
|
28 + length=number_pixels-(size_t) i; |
|
29 for (j=0; j < (ssize_t) length; j++) |
|
30 { |
|
31 switch (depth) |