diff options
author | Anatol Belski <ab@php.net> | 2017-07-22 10:36:58 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2017-07-22 10:36:58 +0200 |
commit | 14e8f9557bc4342f93dc691848352e93ff199d07 (patch) | |
tree | c3a745bfde229a6b3332709ecfb963cccbb1f1a7 /ext/mysqli/mysqli.c | |
parent | 3fa76ac54f082d59f3f75a4e166fbc8b3ea8f28b (diff) | |
parent | 4cb1151fff357273d82357492ceaa1033de9608e (diff) | |
download | php-git-14e8f9557bc4342f93dc691848352e93ff199d07.tar.gz |
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fixed bug #74968 PHP crashes when calling mysqli_result::fetch_object with an abstract class
Diffstat (limited to 'ext/mysqli/mysqli.c')
-rw-r--r-- | ext/mysqli/mysqli.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 00a9497fca..707a301045 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -1247,6 +1247,10 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags php_error_docref(NULL, E_WARNING, "Could not find class '%s'", ZSTR_VAL(class_name)); return; } + if (UNEXPECTED(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_IMPLICIT_ABSTRACT_CLASS|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { + zend_throw_error(NULL, "Class '%s' cannot be instantiated", ZSTR_VAL(ce->name)); + return; + } fetchtype = MYSQLI_ASSOC; } else { if (override_flags) { |