Bug #55764 [Asn->Fbk]: Review ZEND_MM_LONG_CONST on 64 bit
| From: | dmitry@php.net | Date: | Fri, 23 Sep 2011 07:23:19 +0000 |
| Subject: | Bug #55764 [Asn->Fbk]: Review ZEND_MM_LONG_CONST on 64 bit | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-163808@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=55764&edit=1
ID: 55764
Updated by: dmitry@php.net
Reported by: sixd@php.net
Summary: Review ZEND_MM_LONG_CONST on 64 bit
-Status: Assigned
+Status: Feedback
Type: Bug
Package: Scripting Engine problem
Operating System: All
PHP Version: trunk-SVN-2011-09-22 (SVN)
Assigned To: dmitry
Block user comment: N
Private report: N
New Comment:
I think you are wrong.
zend_alloc works with pointers and size_t which have the same size as long on both 32-bit and 64-bit
GCC.
Also size of "long" and "long long" is the same on 64-bit GCC.
Previous Comments:
------------------------------------------------------------------------
[2011-09-22 16:46:59] sixd@php.net
Description:
------------
Pointed out by Hannes on #php.pecl is a comment in
http://pecl.php.net/bugs/bug.php?id=12821 by
skatta72 at luukku dot
com as follows:
"I think I found this one. It's a missing L in Zend/zend_alloc.c:
define ZEND_MM_LONG_CONST(x) (x##L)
In 64bit system it should be
define ZEND_MM_LONG_CONST(x) (x##LL)
I found with gdb that the size - variable was way off where
freeing a memory block and the resulting pointer caused the seg
fault. Since that change, no crashes.
This is inside the Zend memory management code. I wouldn't be
surprised if it causes many other problems that occur randomly
with php on 64-bit platform."
Dmitry, can you review this?
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=55764&edit=1