aboutsummaryrefslogtreecommitdiff
path: root/src/json.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/json.c b/src/json.c
index 6f31214f5..1cfaaaf58 100644
--- a/src/json.c
+++ b/src/json.c
@@ -3481,31 +3481,38 @@ static int jsonParseValueFromBlob(JsonParse *pParse, u32 i){
zPayload = &pParse->zJson[i+x];
switch( t ){
case JSONB_NULL: {
+ if( sz>0 ) return -1;
jsonParseAddNode(pParse, JSON_NULL, 0, 0);
break;
}
case JSONB_TRUE: {
+ if( sz>0 ) return -1;
jsonParseAddNode(pParse, JSON_TRUE, 0, 0);
break;
}
case JSONB_FALSE: {
+ if( sz>0 ) return -1;
jsonParseAddNode(pParse, JSON_FALSE, 0, 0);
break;
}
case JSONB_INT: {
+ if( sz==0 ) return -1;
jsonParseAddNode(pParse, JSON_INT, sz, zPayload);
break;
}
case JSONB_INT5: {
+ if( sz==0 ) return -1;
pParse->hasNonstd = 1;
jsonParseAddNode(pParse, JSON_INT | (JNODE_JSON5<<8), sz, zPayload);
break;
}
case JSONB_FLOAT: {
+ if( sz==0 ) return -1;
jsonParseAddNode(pParse, JSON_REAL, sz, zPayload);
break;
}
case JSONB_FLOAT5: {
+ if( sz==0 ) return -1;
pParse->hasNonstd = 1;
jsonParseAddNode(pParse, JSON_REAL | (JNODE_JSON5<<8), sz, zPayload);
break;