]> granicus.if.org Git - php/commitdiff
MFH: fix heap protection on SPARC, required by GCC4
authorAntony Dovgal <tony2001@php.net>
Mon, 19 Feb 2007 18:29:31 +0000 (18:29 +0000)
committerAntony Dovgal <tony2001@php.net>
Mon, 19 Feb 2007 18:29:31 +0000 (18:29 +0000)
patch by Dmitry

Zend/zend_alloc.c

index 76a2a8aa6abc025251362fca62f547c5d37780a9..6651ee8369274ce88f13c2222bfaa959a2496dfb 100644 (file)
@@ -530,12 +530,12 @@ static unsigned int _zend_mm_cookie = 0;
        } while (0)
 
 # define ZEND_MM_END_MAGIC_PTR(block) \
-       (unsigned int*)(((char*)(ZEND_MM_DATA_OF(block))) + ((zend_mm_block*)(block))->debug.size)
+       (((char*)(ZEND_MM_DATA_OF(block))) + ((zend_mm_block*)(block))->debug.size)
 
 # define END_MAGIC_SIZE sizeof(unsigned int)
 
 # define ZEND_MM_SET_BLOCK_SIZE(block, __size) do { \
-               unsigned int *p; \
+               char *p; \
                ((zend_mm_block*)(block))->debug.size = (__size); \
                p = ZEND_MM_END_MAGIC_PTR(block); \
                ((zend_mm_block*)(block))->debug.start_magic = _mem_block_start_magic; \
@@ -1112,7 +1112,7 @@ static int zend_mm_check_ptr(zend_mm_heap *heap, void *ptr, int silent ZEND_FILE
                        zend_debug_alloc_output("Unknown\n");
                }
        } else {
-               unsigned int *end_magic = ZEND_MM_END_MAGIC_PTR(p);
+               char *end_magic = ZEND_MM_END_MAGIC_PTR(p);
 
                if (p->debug.start_magic == _mem_block_start_magic) {
                        if (!silent) {