mirror of
https://github.com/php/php-src.git
synced 2024-12-12 03:15:29 +08:00
MFH Fix bug #45989 - json_decode() doesn't return NULL on certain invalid strings
This commit is contained in:
parent
dddbfccb9f
commit
ed5f04710b
@ -523,13 +523,7 @@ static PHP_FUNCTION(json_decode)
|
||||
RETURN_DOUBLE(d);
|
||||
}
|
||||
}
|
||||
if (str_len > 1 && *str == '"' && str[str_len-1] == '"') {
|
||||
RETURN_STRINGL(str+1, str_len-2, 1);
|
||||
} else if (*str == '{' || *str == '[') { /* invalid JSON string */
|
||||
RETURN_NULL();
|
||||
} else {
|
||||
RETURN_STRINGL(str, str_len, 1);
|
||||
}
|
||||
RETURN_NULL();
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
@ -31,12 +31,12 @@ NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
string(1) "."
|
||||
string(1) "."
|
||||
string(3) "<?>"
|
||||
string(1) ";"
|
||||
string(12) "руссиш"
|
||||
string(4) "blah"
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
object(stdClass)#1 (1) {
|
||||
["test"]=>
|
||||
|
@ -16,10 +16,9 @@ var_dump(
|
||||
?>
|
||||
--EXPECT--
|
||||
string(0) ""
|
||||
string(5) "".."."
|
||||
string(1) """
|
||||
string(2) """"
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
string(4) ""\"""
|
||||
string(1) """
|
||||
string(2) """"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user