diff options
author | Xinchen Hui <laruence@gmail.com> | 2015-12-30 05:10:05 -0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2015-12-30 05:10:05 -0800 |
commit | da028e075713c27c08ddb224888c4609d1241465 (patch) | |
tree | f9011f7a6ca6c7b28f08676e22d562f9c4d98ab2 | |
parent | 90d2f509e2164b60fc7bc8407e63504c910cce11 (diff) | |
download | php-git-da028e075713c27c08ddb224888c4609d1241465.tar.gz |
This should be better
-rw-r--r-- | ext/standard/streamsfuncs.c | 1 | ||||
-rw-r--r-- | main/streams/streams.c | 5 |
2 files changed, 2 insertions, 4 deletions
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index bc8c8557de..235a0cb0a0 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -885,7 +885,6 @@ static int parse_context_options(php_stream_context *context, zval *options) if (Z_TYPE_P(wval) == IS_ARRAY) { ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(wval), okey, oval) { if (okey) { - ZVAL_DEREF(oval); php_stream_context_set_option(context, ZSTR_VAL(wkey), ZSTR_VAL(okey), oval); } } ZEND_HASH_FOREACH_END(); diff --git a/main/streams/streams.c b/main/streams/streams.c index d0f8a44b98..5e2e42a757 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -2244,9 +2244,8 @@ PHPAPI int php_stream_context_set_option(php_stream_context *context, return FAILURE; } } - if (Z_REFCOUNTED_P(optionvalue)) { - Z_ADDREF_P(optionvalue); - } + ZVAL_DEREF(optionvalue); + Z_TRY_ADDREF_P(optionvalue); return zend_hash_str_update(Z_ARRVAL_P(wrapperhash), optionname, strlen(optionname), optionvalue) ? SUCCESS : FAILURE; } /* }}} */ |