]> granicus.if.org Git - php/commitdiff
Add missing arg num check for __set_state
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 20 Jul 2020 08:20:29 +0000 (10:20 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 20 Jul 2020 08:20:29 +0000 (10:20 +0200)
Zend/tests/magic_methods_set_state.phpt
Zend/zend_API.c

index 389798e54291d4c093744ba04bb3ef25327aad9a..9ff728dd0556a6228b4f3cce3f430d903830ee7d 100644 (file)
@@ -4,7 +4,7 @@ Testing __set_state() declaration with wrong modifier
 <?php
 
 class Foo {
-    function __set_state()
+    function __set_state($array)
     {
     }
 }
index 41d09a22d8389197b46226fed28761ccbd5b817f..f6e96df42fb1657c493329fb26ff243128c78b5c 100644 (file)
@@ -2064,6 +2064,8 @@ ZEND_API void zend_check_magic_method_implementation(const zend_class_entry *ce,
                zend_check_magic_method_args(0, "__serialize", ce, fptr, error_type);
        } else if (zend_string_equals_literal(lcname, "__unserialize")) {
                zend_check_magic_method_args(1, "__unserialize", ce, fptr, error_type);
+       } else if (zend_string_equals_literal(lcname, "__set_state")) {
+               zend_check_magic_method_args(1, "__set_state", ce, fptr, error_type);
        }
 }
 /* }}} */