It looks like the _CHECK_MEMORY_LIMIT macro has one of the conditions
reversed: the diff below is rather unreadable, if you read the original
code the problem should be obvious:

  if (file)
    zend_error("..exhausted (tried...", ...)
  else
    zend_error("...exhausted at %s:%d (tried...", ..., file, lineno, ...)

gcc 3.3 with -Wall is giving warnings on this macro since it expands to
always pass a NULL as the %s argument in some places, but this isn't a
real issue when inside an if (NULL) condition.

Index: Zend/zend_alloc.c
===================================================================
RCS file: /repository/Zend/Attic/zend_alloc.c,v
retrieving revision 1.105.4.3
diff -u -r1.105.4.3 zend_alloc.c
--- Zend/zend_alloc.c   15 Apr 2003 01:30:46 -0000      1.105.4.3
+++ Zend/zend_alloc.c   13 Oct 2003 11:21:27 -0000
@@ -70,9 +70,9 @@
                                                                        if 
(AG(memory_limit)+1048576 > AG(allocated_memory) - rs) { \
                                                                                
AG(memory_limit) = AG(allocated_memory) + 1048576; \
                                                                                if 
(file) { \
-                                                                                      
 zend_error(E_ERROR,"Allowed memory size of %d bytes exhausted (tried to allocate %d 
bytes)", php_mem_limit, s); \
-                                                                               } else 
{ \
                                                                                       
 zend_error(E_ERROR,"Allowed memory size of %d bytes exhausted at %s:%d (tried to 
allocate %d bytes)", php_mem_limit, file, lineno, s); \
+                                                                               } else 
{ \
+                                                                                      
 zend_error(E_ERROR,"Allowed memory size of %d bytes exhausted (tried to allocate %d 
bytes)", php_mem_limit, s); \
                                                                                } \
                                                                        } else { \
                                                                                if 
(file) { \

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to