components/python/imaging/patches/pcd-buffer-overflow.patch
author Rich Burridge <rich.burridge@oracle.com>
Wed, 03 Feb 2016 16:21:53 -0800
changeset 5396 6c9d04f8f7a9
permissions -rw-r--r--
22650536 problem in PYTHON-MOD/PIL
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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],