From 9e650ec713350c0dcfa6672daacd73885b13f722 Mon Sep 17 00:00:00 2001 From: Christoph Gohlke Date: Sun, 1 Oct 2017 20:07:00 -0700 Subject: [PATCH 1/2] Fix bulletproof code from libc --- libImaging/Storage.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libImaging/Storage.c b/libImaging/Storage.c index 4ec404484..9396e5443 100644 --- a/libImaging/Storage.c +++ b/libImaging/Storage.c @@ -430,8 +430,8 @@ ImagingAllocateArray(Imaging im, int dirty, int block_size) im->blocks[current_block] = block; /* Bulletproof code from libc _int_memalign */ aligned_ptr = (char *)( - ((unsigned long) (block.ptr + arena->alignment - 1)) & - -((signed long) arena->alignment)); + ((size_t) (block.ptr + arena->alignment - 1)) & + -((ssize_t) arena->alignment)); } im->image[y] = aligned_ptr + aligned_linesize * line_in_block; From b2a4aa2959ca06fcf4c9fce1f00257debc5532dc Mon Sep 17 00:00:00 2001 From: Christoph Gohlke Date: Sun, 1 Oct 2017 22:16:13 -0700 Subject: [PATCH 2/2] Fix size_t not defined in PyPy --- libImaging/Storage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libImaging/Storage.c b/libImaging/Storage.c index 9396e5443..8262d864a 100644 --- a/libImaging/Storage.c +++ b/libImaging/Storage.c @@ -431,7 +431,7 @@ ImagingAllocateArray(Imaging im, int dirty, int block_size) /* Bulletproof code from libc _int_memalign */ aligned_ptr = (char *)( ((size_t) (block.ptr + arena->alignment - 1)) & - -((ssize_t) arena->alignment)); + -((Py_ssize_t) arena->alignment)); } im->image[y] = aligned_ptr + aligned_linesize * line_in_block;