From:             [EMAIL PROTECTED]
Operating system: OS400
PHP version:      4.0.4pl1
PHP Bug Type:     Reproduceable crash
Bug description:  Pointer not set exception on a realloc

Got the PHP to compile and build, now I am doing some simple tests.  On initial 
invocation to PHP, I get the following exception:

Message . . . . :   Pointer not set for location referenced.           
Cause . . . . . :   A pointer was used, either directly or as a basing pointer, that 
has not been set to an address.                        
                                                                       
The exception was in c file zend_alloc.c, routine _erealloc().  The problem code is 
the first  line:

ZEND_API void *_erealloc(void *ptr, size_t size, int allow_failure ZEND_FILE_LINE_DC 
ZEND_FILE_LINE_ORIG_DC)
{
      zend_mem_header *p = (zend_mem_header *) ((char 
*)ptr-sizeof(zend_mem_header)-PLATFORM_PADDING);
        zend_mem_header *orig = p;
    
        DECLARE_CACHE_VARS
        ALS_FETCH();

        if (!ptr) {
                return _emalloc(size ZEND_FILE_LINE_RELAY_CC 
ZEND_FILE_LINE_ORIG_RELAY_CC);
        }
  .
  .
  .
}

The first line is referencing the pointer without checking if it is NULL.  I moved the 
first 2 lines after the if-check and it cleared up the problem.





-- 
Edit Bug report at: http://bugs.php.net/?id=9505&edit=1



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to