diff --git a/ext/standard/pack.c b/ext/standard/pack.c index c8cbf8613f63..969f5a2db742 100644 --- a/ext/standard/pack.c +++ b/ext/standard/pack.c @@ -803,7 +803,7 @@ PHP_FUNCTION(unpack) if (offset < 0 || offset > inputlen) { - zend_argument_value_error(3, "must be contained in argument #2 ($data)"); + zend_argument_value_error(3, "must be contained in argument #2 ($string)"); RETURN_THROWS(); } diff --git a/ext/standard/tests/strings/unpack_offset.phpt b/ext/standard/tests/strings/unpack_offset.phpt index a3046c32d6f9..36d3f49eb495 100644 --- a/ext/standard/tests/strings/unpack_offset.phpt +++ b/ext/standard/tests/strings/unpack_offset.phpt @@ -21,9 +21,17 @@ try { } catch (Throwable $e) { echo $e::class, ': ', $e->getMessage(), "\n"; } + +/* the message names argument #2, so that name has to be the real one */ +foreach ((new ReflectionFunction('unpack'))->getParameters() as $parameter) { + echo '$', $parameter->getName(), "\n"; +} ?> --EXPECT-- 0x01020304 0x05060708 0x01020304 0x05060708 -ValueError: unpack(): Argument #3 ($offset) must be contained in argument #2 ($data) -ValueError: unpack(): Argument #3 ($offset) must be contained in argument #2 ($data) +ValueError: unpack(): Argument #3 ($offset) must be contained in argument #2 ($string) +ValueError: unpack(): Argument #3 ($offset) must be contained in argument #2 ($string) +$format +$string +$offset