mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-09 14:21:03 +03:00
Up until version 3.42.0, there was a bug in json_valid() such that it would
return False (0) for a NULL input. That bug is fixed in 3.42.0. This check-in adds a compile-time option -DSQLITE_LEGACY_JSON_VALID that restores the old buggy behavior for applications that depend on it. FossilOrigin-Name: 15c2eadbff8e732cca45d6c3771d1fcea5aab2127e87f2a611b41ccfef4d1a0d
This commit is contained in:
@@ -3009,7 +3009,13 @@ static void jsonValidFunc(
|
||||
){
|
||||
JsonParse *p; /* The parse */
|
||||
UNUSED_PARAMETER(argc);
|
||||
if( sqlite3_value_type(argv[0])==SQLITE_NULL ) return;
|
||||
if( sqlite3_value_type(argv[0])==SQLITE_NULL ){
|
||||
#ifdef SQLITE_LEGACY_JSON_VALID
|
||||
/* Incorrect legacy behavior was to return FALSE for a NULL input */
|
||||
sqlite3_result_int(ctx, 0);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
p = jsonParseCached(ctx, argv[0], 0, 0);
|
||||
if( p==0 || p->oom ){
|
||||
sqlite3_result_error_nomem(ctx);
|
||||
|
||||
Reference in New Issue
Block a user