diff options
author | drh <> | 2023-10-06 22:16:09 +0000 |
---|---|---|
committer | drh <> | 2023-10-06 22:16:09 +0000 |
commit | 6b8aa95c3c3f79cedb4fcaea84687c671642bcf9 (patch) | |
tree | aa5507af8b82b24e9ddf93eee32cf11856db977d /src/json.c | |
parent | 7b4349735f339a4272060b196d7ede864825f3d4 (diff) | |
download | sqlite-6b8aa95c3c3f79cedb4fcaea84687c671642bcf9.tar.gz sqlite-6b8aa95c3c3f79cedb4fcaea84687c671642bcf9.zip |
Improved error detection for JSONB inputs.
FossilOrigin-Name: 6945e11aa441ace52b93cdbb81ac45b6f809987f3dbc522251e63f8cb948fddd
Diffstat (limited to 'src/json.c')
-rw-r--r-- | src/json.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/json.c b/src/json.c index 62dc44b83..25aa186e9 100644 --- a/src/json.c +++ b/src/json.c @@ -3284,8 +3284,10 @@ static u32 jsonRenderBlob( for(; k<sz; k++){ if( !sqlite3Isxdigit(zIn[k]) ){ pOut->eErr |= JSTRING_MALFORMED; + break; + }else{ + u = u*16 + sqlite3HexToInt(zIn[k]); } - u = u*16 + sqlite3HexToInt(zIn[k]); } jsonPrintf(100,pOut,"%llu",u); break; |