com php-src: Should not release container before dup: ext/spl/spl_heap.c
| From: | Dmitry Stogov | Date: | Sat, 15 Mar 2014 14:43:40 +0000 |
| Subject: | com php-src: Should not release container before dup: ext/spl/spl_heap.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-77614@lists.php.net to get a copy of this message | ||
Commit: 6dd3d5cb36828be4dc8aab5ac2797dcb2d7ebf36
Author: Xinchen Hui <laruence@gmail.com> Sat, 15 Mar 2014 22:43:40 +0800
Parents: d0bbc227aadd116431722efb656acee4f662f627
Branches: phpng
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=6dd3d5cb36828be4dc8aab5ac2797dcb2d7ebf36
Log:
Should not release container before dup
Changed paths:
M ext/spl/spl_heap.c
Diff:
diff --git a/ext/spl/spl_heap.c b/ext/spl/spl_heap.c
index 9d377ce..969fdba 100644
--- a/ext/spl/spl_heap.c
+++ b/ext/spl/spl_heap.c
@@ -128,7 +128,6 @@ static zval *spl_pqueue_extract_helper(zval *value, int flags) /* {{{ */
if ((flags & SPL_PQUEUE_EXTR_BOTH) == SPL_PQUEUE_EXTR_BOTH) {
return value;
} else if ((flags & SPL_PQUEUE_EXTR_BOTH) > 0) {
-
if ((flags & SPL_PQUEUE_EXTR_DATA) == SPL_PQUEUE_EXTR_DATA) {
zval *data;
if ((data = zend_hash_str_find(Z_ARRVAL_P(value), "data", sizeof("data") -
1)) != NULL) {
@@ -722,9 +721,9 @@ SPL_METHOD(SplPriorityQueue, extract)
if (Z_REFCOUNTED_P(value_out)) {
Z_ADDREF_P(value_out);
}
- zval_ptr_dtor(&value);
- RETURN_ZVAL(value_out, 1, 1);
+ RETVAL_ZVAL(value_out, 1, 0);
+ zval_ptr_dtor(&value);
}
/* }}} */