fix leak in zend_disable_class()

This commit is contained in:
Antony Dovgal 2006-12-20 23:00:54 +00:00
parent 2073b38b0f
commit 722ad46c38

View File

@ -2462,18 +2462,17 @@ static zend_function_entry disabled_class_new[] = {
ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_DC)
{
zend_class_entry *disabled_class;
disabled_class = (zend_class_entry *) emalloc(sizeof(zend_class_entry));
zend_class_entry disabled_class;
zend_str_tolower(class_name, class_name_length);
if (zend_hash_del(CG(class_table), class_name, class_name_length+1)==FAILURE) {
return FAILURE;
}
INIT_CLASS_ENTRY((*disabled_class), class_name, disabled_class_new);
disabled_class->create_object = display_disabled_class;
disabled_class->name_length = class_name_length;
zend_register_internal_class(disabled_class TSRMLS_CC);
return 1;
INIT_CLASS_ENTRY(disabled_class, class_name, disabled_class_new);
disabled_class.create_object = display_disabled_class;
disabled_class.name_length = class_name_length;
zend_register_internal_class(&disabled_class TSRMLS_CC);
return SUCCESS;
}
static int zend_is_callable_check_func(int check_flags, zval ***zobj_ptr_ptr, zend_class_entry *ce_org, zval *callable, zend_class_entry **ce_ptr, zend_function **fptr_ptr TSRMLS_DC)