mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
fix leak in zend_disable_class()
This commit is contained in:
parent
2073b38b0f
commit
722ad46c38
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user