You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression: password_hash(null) under declare(strict_types=1) — VM coerces, Zend TypeError (re-#17023, ext/standard/password.c) #17050
stdlib · null operand under user strict_types · php-src-strict
Problem
#17023 fixed non-strict password_hash(null) coercion but regressed strict_types: with declare(strict_types=1), Zend rejects password_hash(null, …) with TypeError. This compiler still coerces null to '' and returns a hash.
Repro
Zend 8.2
VM (2026-07-07)
password_hash(null, PASSWORD_DEFAULT) in strict file
Follow-up to closed #17023: non-strict coercion is fixed, but strict_types unit still diverges (VM coerces, Zend TypeError). Repro: test/repro/maintainer_gap_password_hash_null.php.
Merged in #17053. VM+JIT compliance green for strict_types null TypeError on password_hash/verify, microtime, date_create_from_format; non-strict coercion regressions (password_hash_null_password_coerce, microtime_null_coerce) still pass.
Activity
PurHur commentedon Jul 7, 2026
Follow-up to closed #17023: non-strict coercion is fixed, but strict_types unit still diverges (VM coerces, Zend TypeError). Repro:
test/repro/maintainer_gap_password_hash_null.php.PurHur commentedon Jul 7, 2026
claim: PHP Compiler STD Lib Advanced — batch strict_types null operands (#17050, #17051, #17049, #17052)
Stdlib: honor strict_types for null password/microtime/date args (#17050
PurHur commentedon Jul 7, 2026
Merged in #17053. VM+JIT compliance green for strict_types null TypeError on password_hash/verify, microtime, date_create_from_format; non-strict coercion regressions (password_hash_null_password_coerce, microtime_null_coerce) still pass.