diff options
| author | Xinchen Hui <laruence@gmail.com> | 2014-03-15 22:43:40 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2014-03-15 22:43:40 +0800 |
| commit | 6dd3d5cb36828be4dc8aab5ac2797dcb2d7ebf36 (patch) | |
| tree | a9b65b6f5697171cf54a5bbd32b71dc323eb966f /ext/spl/spl_heap.c | |
| parent | d0bbc227aadd116431722efb656acee4f662f627 (diff) | |
| download | php-git-6dd3d5cb36828be4dc8aab5ac2797dcb2d7ebf36.tar.gz | |
Should not release container before dup
Diffstat (limited to 'ext/spl/spl_heap.c')
| -rw-r--r-- | ext/spl/spl_heap.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/spl/spl_heap.c b/ext/spl/spl_heap.c index 9d377ce0ae..969fdba736 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); } /* }}} */ |
