Thank you for catching this.
I'll fix it today.
Dmitry.
-Original Message-
From: Hannes Magnusson [mailto:[EMAIL PROTECTED]
Sent: Friday, November 23, 2007 2:21 PM
To: Dmitry Stogov
Cc: php-cvs@lists.php.net
Subject: Re: [PHP-CVS] cvs: php-src(PHP_5_3) / NEWS
/ext/interbase ibase_query.c /ext/reflection php_reflection.c
/ext/spl php_spl.c /main main.c TSRM tsrm_config_common.h
tsrm_virtual_cwd.c ZendEngine2 zend.h zend_API.c
zend_builtin_functions.c zend
On Nov 22, 2007 2:27 PM, Dmitry Stogov [EMAIL PROTECTED] wrote:
dmitry Thu Nov 22 13:27:15 2007 UTC
Added files: (Branch: PHP_5_3)
/ZendEngine2/tests bug43128.phpt
Modified files:
/php-srcNEWS
/TSRM tsrm_config_common.h tsrm_virtual_cwd.c
/ZendEngine2zend.h zend_API.c zend_builtin_functions.c
zend_compile.c zend_compile.h zend_execute.c
zend_execute_API.c zend_object_handlers.c
zend_vm_execute.h zend_vm_execute.skl
/php-src/ext/interbase ibase_query.c
/php-src/ext/reflection php_reflection.c
/php-src/ext/splphp_spl.c
/php-src/main main.c
Log:
Fixed bug #43128 (Very long class name causes segfault)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend.h?r1=1.293.2.11.2.9.2.1
1r2=1.293.2.11.2.9.2.12diff_format=u
Index: ZendEngine2/zend.h
diff -u ZendEngine2/zend.h:1.293.2.11.2.9.2.11
ZendEngine2/zend.h:1.293.2.11.2.9.2.12
--- ZendEngine2/zend.h:1.293.2.11.2.9.2.11 Wed Nov 21 14:55:41 2007
+++ ZendEngine2/zend.h Thu Nov 22 13:27:11 2007
@@ -17,7 +17,7 @@
+-
-+
*/
-/* $Id: zend.h,v 1.293.2.11.2.9.2.11 2007/11/21 14:55:41
dmitry Exp $
*/
+/* $Id: zend.h,v 1.293.2.11.2.9.2.12 2007/11/22 13:27:11
dmitry Exp $
+*/
#ifndef ZEND_H
#define ZEND_H
@@ -177,9 +177,17 @@
#endif
#if (HAVE_ALLOCA || (defined (__GNUC__) __GNUC__ = 2))
!(defined(ZTS) defined(ZEND_WIN32)) !(defined(ZTS)
defined(NETWARE)) !(defined(ZTS) defined(HPUX))
!defined(DARWIN) -# define do_alloca(p) alloca(p) -# define
free_alloca(p)
+# define ZEND_ALLOCA_MAX_SIZE (32 * 1024)
+# define ALLOCA_FLAG(name) \
+ zend_bool name;
+# define do_alloca_ex(size, limit, use_heap) \
+ ((use_heap = (UNEXPECTED((size) (limit ? emalloc(size) :
+alloca(size)) # define do_alloca(size, use_heap) \
+ do_alloca_ex(size, ZEND_ALLOCA_MAX_SIZE, use_heap)
+# define free_alloca(p, use_heap) \
+ do { if (UNEXPECTED(use_heap)) efree(p); } while (0)
#else
+# define ALLOCA_FLAG(name)
# define do_alloca(p) emalloc(p)
# define free_alloca(p)efree(p)
#endif
Should that be
#define do_alloca(p, foo) emalloc(p)
#define free_alloca(p, foo) efree(p)
?
-Hannes
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php