summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-07-20 10:20:29 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-07-20 10:20:29 +0200
commitb466e8b7546352f7c2ac7d166d83131d3dcd7b2f (patch)
treef380efc9b01be5053578bcf59c81f94f2ccc1b6f
parentdcaf62f3d3341d3f79b769a3dfb5127fdc58fe66 (diff)
downloadphp-git-b466e8b7546352f7c2ac7d166d83131d3dcd7b2f.tar.gz
Add missing arg num check for __set_state
-rw-r--r--Zend/tests/magic_methods_set_state.phpt2
-rw-r--r--Zend/zend_API.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/Zend/tests/magic_methods_set_state.phpt b/Zend/tests/magic_methods_set_state.phpt
index 389798e542..9ff728dd05 100644
--- a/Zend/tests/magic_methods_set_state.phpt
+++ b/Zend/tests/magic_methods_set_state.phpt
@@ -4,7 +4,7 @@ Testing __set_state() declaration with wrong modifier
<?php
class Foo {
- function __set_state()
+ function __set_state($array)
{
}
}
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 41d09a22d8..f6e96df42f 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -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);
}
}
/* }}} */