diff options
author | drh <> | 2023-05-02 17:33:34 +0000 |
---|---|---|
committer | drh <> | 2023-05-02 17:33:34 +0000 |
commit | bdb40cb18f725c17b91ba133fa51ecf15f82544c (patch) | |
tree | 9ea7c50fa5a17dd7283895467ae7a607917b3b72 /src | |
parent | d6b3a02d21cd2e3e22674ad2bf7d4152b842a0a6 (diff) | |
download | sqlite-bdb40cb18f725c17b91ba133fa51ecf15f82544c.tar.gz sqlite-bdb40cb18f725c17b91ba133fa51ecf15f82544c.zip |
Allow for lower-case "nan" to mean NaN in JSON.
FossilOrigin-Name: 6bee0a19e2efb6e39097fb22602556791d3d3962c50a1a0471c39a0c61db632e
Diffstat (limited to 'src')
-rw-r--r-- | src/json.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/json.c b/src/json.c index 9808db6fe..acdc5a156 100644 --- a/src/json.c +++ b/src/json.c @@ -1271,14 +1271,6 @@ json_parse_restart: jsonParseAddNode(pParse, JSON_STRING | (jnFlags<<8), j+1-i, &z[i]); return j+1; } - case 'n': { - if( strncmp(z+i,"null",4)==0 && !sqlite3Isalnum(z[i+4]) ){ - jsonParseAddNode(pParse, JSON_NULL, 0, 0); - return i+4; - } - pParse->iErr = i; - return -1; - } case 't': { if( strncmp(z+i,"true",4)==0 && !sqlite3Isalnum(z[i+4]) ){ jsonParseAddNode(pParse, JSON_TRUE, 0, 0); @@ -1479,6 +1471,13 @@ json_parse_restart: pParse->iErr = i; return -1; } + case 'n': { + if( strncmp(z+i,"null",4)==0 && !sqlite3Isalnum(z[i+4]) ){ + jsonParseAddNode(pParse, JSON_NULL, 0, 0); + return i+4; + } + /* fall-through into the default case that checks for NaN */ + } default: { u32 k; int nn; |