diff -up php-5.2.17/Zend/zend_alloc.c.bug-55509 php-5.2.17/Zend/zend_alloc.c --- php-5.2.17/Zend/zend_alloc.c.bug-55509 2012-01-12 09:58:25.000000000 +0700 +++ php-5.2.17/Zend/zend_alloc.c 2012-01-12 09:59:26.000000000 +0700 @@ -491,7 +491,7 @@ static unsigned int _zend_mm_cookie = 0; #define ZEND_MM_IS_GUARD_BLOCK(b) (((b)->info._size & ZEND_MM_TYPE_MASK) == ZEND_MM_GUARD_BLOCK) #define ZEND_MM_NEXT_BLOCK(b) ZEND_MM_BLOCK_AT(b, ZEND_MM_BLOCK_SIZE(b)) -#define ZEND_MM_PREV_BLOCK(b) ZEND_MM_BLOCK_AT(b, -(int)((b)->info._prev & ~ZEND_MM_TYPE_MASK)) +#define ZEND_MM_PREV_BLOCK(b) ZEND_MM_BLOCK_AT(b, -(ssize_t)((b)->info._prev & ~ZEND_MM_TYPE_MASK)) #define ZEND_MM_PREV_BLOCK_IS_FREE(b) (!((b)->info._prev & ZEND_MM_USED_BLOCK))