Segfault in CVS : Namespace related.

php.internals

l0t3k

23 years ago
im sorry i dont have a diff (my build environment is sensitive at the moment), but there is a segfault initializing an internal namespace. simplest reproducing C code is : <code> #define MODULE_NAMESPACE "I18N" zend_namespace *i18n_ns = NULL; void php_I18N_register_namespace(TSRMLS_DC) { zend_namespace temp_ns; temp_ns.name = MODULE_NAMESPACE; temp_ns.name_length = strlen(MODULE_NAMESPACE); i18n_ns = zend_register_internal_namespace(&temp_ns TSRMLS_CC); } </code> the problem is that the ns->builtin_functions table is not properly initialized in zend_init_namespace, so a subsequent call to <code> if (ns->builtin_functions) { zend_register_functions(ns, ns->builtin_functions, &ns->function_table, MODULE_PERSISTENT TSRMLS_CC); } </code> causes the code to crash. l0t3k