author | Rich Burridge <rich.burridge@oracle.com> |
Wed, 03 Feb 2016 16:21:53 -0800 | |
changeset 5396 | 6c9d04f8f7a9 |
permissions | -rw-r--r-- |
5396
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
1 |
Fix a problem where the PCD decoder overruns the shuffle buffer. |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
2 |
See Pillow bug #568: |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
3 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
4 |
https://github.com/python-pillow/Pillow/issues/568 |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
5 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
6 |
with their commit at: |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
7 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
8 |
https://github.com/wiredfool/Pillow/commit/ae453aa18b66af54e7ff716f4ccb33adca60afd4 |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
9 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
10 |
(Pillow is a fork of PIL). |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
11 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
12 |
Note that there is no point in pushing the fix upstream to the |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
13 |
PIL community, as that project has been unresponsive. We need |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
14 |
to switch over to using Pillow at some point instead. |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
15 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
16 |
--- Imaging-1.1.7/libImaging/PcdDecode.c.orig 2016-02-02 15:45:33.655102971 -0800 |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
17 |
+++ Imaging-1.1.7/libImaging/PcdDecode.c 2016-02-02 15:46:00.615105790 -0800 |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
18 |
@@ -47,7 +47,7 @@ |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
19 |
out[0] = ptr[x]; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
20 |
out[1] = ptr[(x+4*state->xsize)/2]; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
21 |
out[2] = ptr[(x+5*state->xsize)/2]; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
22 |
- out += 4; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
23 |
+ out += 3; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
24 |
} |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
25 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
26 |
state->shuffle((UINT8*) im->image[state->y], |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
27 |
@@ -62,7 +62,7 @@ |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
28 |
out[0] = ptr[x+state->xsize]; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
29 |
out[1] = ptr[(x+4*state->xsize)/2]; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
30 |
out[2] = ptr[(x+5*state->xsize)/2]; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
31 |
- out += 4; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
32 |
+ out += 3; |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
33 |
} |
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
34 |
|
6c9d04f8f7a9
22650536 problem in PYTHON-MOD/PIL
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
35 |
state->shuffle((UINT8*) im->image[state->y], |