mirror of
https://github.com/php/php-src.git
synced 2026-04-05 07:02:33 +02:00
fix memory leak
the value shouldn't be ref, use z_add_ref is enough
This commit is contained in:
@@ -1246,7 +1246,6 @@ SPL_METHOD(SplDoublyLinkedList, add)
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &zindex, &value) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
SEPARATE_ARG_IF_REF(value);
|
||||
|
||||
intern = (spl_dllist_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
|
||||
index = spl_offset_convert_to_long(zindex TSRMLS_CC);
|
||||
@@ -1256,6 +1255,7 @@ SPL_METHOD(SplDoublyLinkedList, add)
|
||||
return;
|
||||
}
|
||||
|
||||
Z_ADDREF_P(value);
|
||||
if (index == intern->llist->count) {
|
||||
/* If index is the last entry+1 then we do a push because we're not inserting before any entry */
|
||||
spl_ptr_llist_push(intern->llist, value TSRMLS_CC);
|
||||
|
||||
Reference in New Issue
Block a user