diff options
| author | Xinchen Hui <laruence@gmail.com> | 2015-12-25 20:31:37 -0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2015-12-25 20:32:26 -0800 |
| commit | 6700be67f58611d08bbacc44f327ce98ed0473c9 (patch) | |
| tree | a03044dacf2e55dfe82a2c8f3c8abcc88bf0ba3e /Zend | |
| parent | 2a7eeff33e6b798c0b36a0a0e52fbf8c3197f4e9 (diff) | |
| download | php-git-6700be67f58611d08bbacc44f327ce98ed0473c9.tar.gz | |
Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start)
Diffstat (limited to 'Zend')
| -rw-r--r-- | Zend/tests/bug71221.phpt | 10 | ||||
| -rw-r--r-- | Zend/zend_builtin_functions.c | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Zend/tests/bug71221.phpt b/Zend/tests/bug71221.phpt new file mode 100644 index 0000000000..e735302d9e --- /dev/null +++ b/Zend/tests/bug71221.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start) +--FILE-- +<?php +ob_start("get_defined_vars"); +ob_end_clean(); +?> +okey +--EXPECT-- +okey diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 6faa57cd99..785632ddbd 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -1947,6 +1947,10 @@ ZEND_FUNCTION(get_defined_vars) { zend_array *symbol_table = zend_rebuild_symbol_table(); + if (UNEXPECTED(symbol_table == NULL)) { + return; + } + RETURN_ARR(zend_array_dup(symbol_table)); } /* }}} */ |
