diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-01-28 11:16:53 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-01-28 11:20:57 +0100 |
commit | 521c4051083d79255a52aa427d073727e3cc000a (patch) | |
tree | 388bef64329761223a965f48d785073a6ec4bacb | |
parent | ac9a265f01385f50718f732b1a5badd2f31469b4 (diff) | |
download | php-git-521c4051083d79255a52aa427d073727e3cc000a.tar.gz |
Don't index NULL pointer when fetching non-existent constant
-rw-r--r-- | Zend/zend_constants.c | 11 |
1 files 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; } |