summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2015-12-25 21:25:53 -0800
committerXinchen Hui <laruence@gmail.com>2015-12-25 21:25:53 -0800
commitc56efb848b01fa3ecdb7f7253b541b020d154290 (patch)
tree12dd75a5ad2a1cb1aea4525266f8c9e372f327e6 /ext/standard/array.c
parent6700be67f58611d08bbacc44f327ce98ed0473c9 (diff)
downloadphp-git-c56efb848b01fa3ecdb7f7253b541b020d154290.tar.gz
Fixed bug #71220 (Null pointer deref (segfault) in compact via ob_start)
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 79c9ab6207..7d27c0b78b 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1976,6 +1976,10 @@ PHP_FUNCTION(compact)
symbol_table = zend_rebuild_symbol_table();
+ if (UNEXPECTED(symbol_table == NULL)) {
+ return;
+ }
+
/* compact() is probably most used with a single array of var_names
or multiple string names, rather than a combination of both.
So quickly guess a minimum result size based on that */