is_numeric() on PHP 7 no longer validates hexadecimal values
7.0.0 Strings in hexadecimal (e.g. 0xf4c3b00c) notation are no longer regarded as numeric strings, i.e. is_numeric() returns FALSE now.
Best fix appears to be using http://php.net/manual/en/function.ctype-xdigit.php without prepending 0x to the string.
The only uses of this for hexadecimal that I can find is
interfaces.php and handling of the track6 prefix ID, but worth checking for other instances.
#2 Updated by Jim Pingle over 1 year ago
- Status changed from This Sprint to Feedback
interfaces.php is fixed in b6f6210a220bb206fd22ac34b306f007afedb01f -- I can now set a prefix ID of 0, 1, D, etc and they all work as expected (save interface prefix ID, apply, edit/save/apply on tracked interface WAN, then the new subnet is there)
Checked through uses of
is_numeric() in base and packages and didn't see any other instances of this.