sdk-php icon indicating copy to clipboard operation
sdk-php copied to clipboard

A UTF-8 non-breakable space character (0xC2A0) breaks multiple files

Open arkamax2k opened this issue 5 years ago • 0 comments

An example from lib/net/authorize/api/contract/v1/ANetApiResponseType.php:134

        if(is_array($data) || is_object($data)) {

looks benign, but:

$ printf "if(is_array($data) || is_object($data)) {" | xxd
00000000: 6966 2869 735f 6172 7261 7928 2920 7c7c  if(is_array() ||
00000010: c2a0 6973 5f6f 626a 6563 7428 2929 207b  ..is_object()) {

Note c2a0 before is_object - this breaks PHP 7.3 parser (maybe others too), and execution fails with a Fatal Error on " is_object()" not being found, since 0xc2a0 is deemed a part of the function name.

arkamax2k avatar May 20 '20 17:05 arkamax2k