From 521c4051083d79255a52aa427d073727e3cc000a Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 28 Jan 2020 11:16:53 +0100 Subject: Don't index NULL pointer when fetching non-existent constant --- Zend/zend_constants.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 0885525676..958bd36d1d 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -454,12 +454,15 @@ failure: } } - if (!(flags & ZEND_FETCH_CLASS_SILENT)) { - if (!c) { + if (!c) { + if (!(flags & ZEND_FETCH_CLASS_SILENT)) { zend_throw_error(NULL, "Undefined constant '%s'", name); - } else if (ZEND_CONSTANT_FLAGS(c) & CONST_DEPRECATED) { - zend_error(E_DEPRECATED, "Constant %s is deprecated", name); } + return NULL; + } + + if (!(flags & ZEND_FETCH_CLASS_SILENT) && (ZEND_CONSTANT_FLAGS(c) & CONST_DEPRECATED)) { + zend_error(E_DEPRECATED, "Constant %s is deprecated", name); } return &c->value; } -- cgit v1.2.1