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