diff options
author | Xinchen Hui <laruence@gmail.com> | 2016-03-23 16:16:26 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2016-03-23 16:16:26 +0800 |
commit | a3946de3397fa081226d74210d726af0f69ef82f (patch) | |
tree | 10af68bafab4c98879c72f9b4b279705d920c82d /ext/standard/streamsfuncs.c | |
parent | 241ba9dcb195160e323847757413603a3cc72a1f (diff) | |
download | php-git-a3946de3397fa081226d74210d726af0f69ef82f.tar.gz |
Fixed Bug #71884 (Null pointer deref (segfault) in stream_context_get_default)
Diffstat (limited to 'ext/standard/streamsfuncs.c')
-rw-r--r-- | ext/standard/streamsfuncs.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index c2f200eedd..def1fb88d7 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -883,13 +883,12 @@ static int parse_context_options(php_stream_context *context, zval *options) ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(options), wkey, wval) { ZVAL_DEREF(wval); - if (Z_TYPE_P(wval) == IS_ARRAY) { - ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(wval), okey, oval) { + if (wkey && Z_TYPE_P(wval) == IS_ARRAY) { + ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(wval), okey, oval) { if (okey) { php_stream_context_set_option(context, ZSTR_VAL(wkey), ZSTR_VAL(okey), oval); } } ZEND_HASH_FOREACH_END(); - } else { php_error_docref(NULL, E_WARNING, "options should have the form [\"wrappername\"][\"optionname\"] = $value"); } |