mirror of
https://github.com/phpv8/v8js.git
synced 2024-12-22 18:41:52 +00:00
PHP7 adapt: fix zend_string memory leaks
This commit is contained in:
parent
19a67118b5
commit
592d6528ca
@ -32,7 +32,6 @@ static zval v8js_array_access_dispatch(zend_object *object, const char *method_n
|
||||
{
|
||||
zend_fcall_info fci;
|
||||
zval php_value;
|
||||
ZVAL_UNDEF(&php_value);
|
||||
|
||||
fci.size = sizeof(fci);
|
||||
fci.function_table = &object->ce->function_table;
|
||||
@ -51,6 +50,7 @@ static zval v8js_array_access_dispatch(zend_object *object, const char *method_n
|
||||
fci.no_separation = 0;
|
||||
|
||||
zend_call_function(&fci, NULL TSRMLS_CC);
|
||||
zval_dtor(&fci.function_name);
|
||||
return php_value;
|
||||
}
|
||||
/* }}} */
|
||||
|
@ -48,7 +48,7 @@ static void v8js_call_php_func(zend_object *object, zend_function *method_ptr, v
|
||||
max_num_args = method_ptr->common.num_args;
|
||||
|
||||
/* Function name to call */
|
||||
ZVAL_STRING(&fname, ZSTR_VAL(method_ptr->common.function_name));
|
||||
ZVAL_STR_COPY(&fname, method_ptr->common.function_name);
|
||||
|
||||
/* zend_fcall_info */
|
||||
fci.size = sizeof(fci);
|
||||
@ -78,6 +78,7 @@ static void v8js_call_php_func(zend_object *object, zend_function *method_ptr, v
|
||||
}
|
||||
efree(error);
|
||||
info.GetReturnValue().Set(return_value);
|
||||
zval_dtor(&fname);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -147,6 +148,7 @@ failure:
|
||||
|
||||
return_value = zval_to_v8js(&retval, isolate TSRMLS_CC);
|
||||
zval_dtor(&retval);
|
||||
zval_dtor(&fname);
|
||||
|
||||
info.GetReturnValue().Set(return_value);
|
||||
}
|
||||
|
@ -252,6 +252,8 @@ int v8js_get_properties_hash(v8::Handle<v8::Value> jsValue, HashTable *retval, i
|
||||
} else {
|
||||
zend_hash_update(retval, key, &value);
|
||||
}
|
||||
|
||||
zend_string_release(key);
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user