]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Guard against a NULL-pointer dereference following OOM in the JSON extension.
authordrh <>
Fri, 30 Apr 2021 16:12:40 +0000 (16:12 +0000)
committerdrh <>
Fri, 30 Apr 2021 16:12:40 +0000 (16:12 +0000)
FossilOrigin-Name: ea221f3c8e243a5dc4952e510cbe396614a24876bacdc04fb1ebd4127c7ef0d9

ext/misc/json1.c
manifest
manifest.uuid

index 76c6e40f83c7f971bb6526b2b88669118601a874..41ff01db4960a20de03170b46f6d22e94a5677eb 100644 (file)
@@ -299,7 +299,7 @@ static void jsonAppendSeparator(JsonString *p){
 */
 static void jsonAppendString(JsonString *p, const char *zIn, u32 N){
   u32 i;
-  if( (N+p->nUsed+2 >= p->nAlloc) && jsonGrow(p,N+2)!=0 ) return;
+  if( zIn==0 || ((N+p->nUsed+2 >= p->nAlloc) && jsonGrow(p,N+2)!=0) ) return;
   p->zBuf[p->nUsed++] = '"';
   for(i=0; i<N; i++){
     unsigned char c = ((unsigned const char*)zIn)[i];
index c1d07d68913cda3fce5f411de6d96a156512cdc7..ed1ef23e418fe2bdd3af97c57a98c7825fa77e31 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sharmless\s"unused\svariable"\swarning\swhen\scompiling\swith\n-DSQLITE_COVERAGE_TEST.
-D 2021-04-30T12:30:35.445
+C Guard\sagainst\sa\sNULL-pointer\sdereference\sfollowing\sOOM\sin\sthe\sJSON\sextension.
+D 2021-04-30T16:12:40.054
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -305,7 +305,7 @@ F ext/misc/fileio.c 9b69e25da3b51d4a1d905a464ccb96709792ad627a742ba09215bc0d1447
 F ext/misc/fossildelta.c 1240b2d3e52eab1d50c160c7fe1902a9bd210e052dc209200a750bbf885402d5
 F ext/misc/fuzzer.c eae560134f66333e9e1ca4c8ffea75df42056e2ce8456734565dbe1c2a92bf3d
 F ext/misc/ieee754.c cd6ab89f85fda8a020559b3f4d03001a8a62dd856beda5af3f558621d12be913
-F ext/misc/json1.c 332c285db81a3757c278d725e5dafd7afeab6232240c679fbdc087683923eb85
+F ext/misc/json1.c 2c5c0dbc7fa303f0213f008e5878db9f0e5875fe8ff59a7c2d9f235b18e323a7
 F ext/misc/memstat.c 3017a0832c645c0f8c773435620d663855f04690172316bd127270d1a7523d4d
 F ext/misc/memtrace.c 7c0d115d2ef716ad0ba632c91e05bd119cb16c1aedf3bec9f06196ead2d5537b
 F ext/misc/memvfs.c ab36f49e02ebcdf85a1e08dc4d8599ea8f343e073ac9e0bca18a98b7e1ec9567
@@ -1914,7 +1914,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 327eb4792f9b98f6220fd35ba744002d36ed53f43a016924117b3cea32343947
-R 849f11fee0019002e3fc000f9bf9fd50
+P 0bef3fb11fb95d7ede82b59aea26e99e2e23b3bce48009181e691ea17ae78a61
+R 84d7cc3455c222d58738783019a22873
 U drh
-Z 1a79bf8b3bf3f34270f16cfd6fcfea77
+Z 22027d7cdd0f404c832f2cc1a9724d54
index f9ebad6e131144d3076c923259d5e3ce08a7c00c..417642116920a7fbf50e44eabf233f1ed008ff67 100644 (file)
@@ -1 +1 @@
-0bef3fb11fb95d7ede82b59aea26e99e2e23b3bce48009181e691ea17ae78a61
\ No newline at end of file
+ea221f3c8e243a5dc4952e510cbe396614a24876bacdc04fb1ebd4127c7ef0d9
\ No newline at end of file