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-src    NEWS
>     /TSRM       tsrm_config_common.h tsrm_virtual_cwd.c
>     /ZendEngine2        zend.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/spl    php_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.11&r2=1.293.2.11.2.9.2.12&diff_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

Reply via email to