aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2023-05-02 17:33:34 +0000
committerdrh <>2023-05-02 17:33:34 +0000
commitbdb40cb18f725c17b91ba133fa51ecf15f82544c (patch)
tree9ea7c50fa5a17dd7283895467ae7a607917b3b72 /src
parentd6b3a02d21cd2e3e22674ad2bf7d4152b842a0a6 (diff)
downloadsqlite-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.c15
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;