Justtechjobs.com Find a programming school near you






Online Campus Both


php4-beta | 199912

[PHP4BETA] ABR: Array bounds read in ZTS mode + explanation. From: Thies C. Arntzen (thies <email protected>)
Date: 12/27/99

**** Purify instrumented bin/nsd (pid 22145) ****
ABR: Array bounds read (9440 times):
  * This is occurring while in thread 10:
    memcpy [rtlib.o]
    zend_hash_copy [zend_hash.c:861]
    compiler_globals_ctor [zend.c:247]
    allocate_new_resource [TSRM.c:200]
    ts_resource [TSRM.c:235]
    php_ns_request_handler [aolserver.c:500]
  * Reading 60 bytes from 0x264ec8 in the heap (44 bytes at 0x264ed8 illegal).
  * Address 0x264ec8 is at the beginning of a malloc'd block of 16 bytes.
  * This block was allocated from:
    malloc [rtlib.o]
    zend_hash_add_or_update [zend_hash.c:189]
    zend_register_functions [zend_API.c:698]
    zend_startup_builtin_functions [zend_builtin_functions.c:78]
    zend_startup [zend.c:363]

problem is :

zend_API.c line 698
        if (zend_hash_add(target_function_table, ptr->fname, strlen(ptr->fname)+1, &internal_function, sizeof(zend_internal_function), NULL) == FAILURE) {
            unload=1;
            break;
        }

zend.c line 238:
    zend_hash_copy(compiler_globals->function_table, global_function_table, NULL, &tmp_func, sizeof(zend_function));

but: sizeof(zend_function) > sizeof(zend_internal_function) so we're
coying uninted memory (as purify tells us) in compiler_globals_ctor().

tc

-- 
PHP 4.0 Beta Mailing List <http://www.php.net/version4/>
To unsubscribe, e-mail: php4beta-unsubscribe <email protected>
For additional commands, e-mail: php4beta-help <email protected>
To contact the list administrators, e-mail: php4beta-admin <email protected>