]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Further refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in
authordrh <drh@noemail.net>
Wed, 10 Apr 2019 13:24:35 +0000 (13:24 +0000)
committerdrh <drh@noemail.net>
Wed, 10 Apr 2019 13:24:35 +0000 (13:24 +0000)
[df58774e994bd] to prevent a reference to an unused variable - problem
discovered by Valgrind.

FossilOrigin-Name: 09435b5700a2650816ad9ffa628be5fa19da62369c30329801feb5e840463c7e

manifest
manifest.uuid
src/vdbemem.c

index 101f34f95f1d8f91f05edaa8236e4aea3091dd57..a3fcb3d4ca662459df684f83e5c96e884f6ee29b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Change\sthe\sname\sof\ssome\sinternal\stesting\sinterfaces\sto\savoid\sa\sname\nconflict\sin\sAIX.
-D 2019-04-10T12:02:55.771
+C Further\srefinement\sof\sthe\ssqlite3VdbeMEmExpandBlob()\sfix\sof\scheck-in\n[df58774e994bd]\sto\sprevent\sa\sreference\sto\san\sunused\svariable\s-\sproblem\ndiscovered\sby\sValgrind.
+D 2019-04-10T13:24:35.112
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -595,7 +595,7 @@ F src/vdbeInt.h 2c12704db9740c8e899786ecfc7a5797a9d067563496eb1b6ed03c592d7b8d90
 F src/vdbeapi.c a6e462bd7853e272cf614d6fbda7f3f20c89a2d255805855b32895a5983ddcec
 F src/vdbeaux.c 7aa412e7e56eb53649d87766f3064994a31991ee2b2716bf8c3129fa15cc7653
 F src/vdbeblob.c f5c70f973ea3a9e915d1693278a5f890dc78594300cf4d54e64f2b0917c94191
-F src/vdbemem.c 85a35a9b1413f75e9c60746367874d518ef57f44cc9107cbc384de1c1b9fd8dc
+F src/vdbemem.c 8e6889761e344babdb8a56dd1ac8911501fa648396544d1644f1cd6a87c80dc0
 F src/vdbesort.c 90aad5a92608f2dd771c96749beabdb562c9d881131a860a7a5bccf66dc3be7f
 F src/vdbetrace.c 79d6dbbc479267b255a7de8080eee6e729928a0ef93ed9b0bfa5618875b48392
 F src/vtab.c 2462b7d6fd72b0b916477f5ef210ee49ab58cec195483ebdac0c8c5e3ec42cab
@@ -1814,7 +1814,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 037da798fa5510ba7c776831ebcd683a85dca28e25bc657ff17bb2b08c3d406e
-R d3a0726ffa5ad97d38dc721c8e3b08e3
+P c1cae7e7f0a612508c8f82b334d9ebc423f443e99b13092d52e26b348c7cbc5e
+R 8e269d3934eeae9a2e8d8aaa91e377d6
 U drh
-Z 4a3cd4127df4ce2d38bbe8e11916b371
+Z 25ec07037e0f08a16877f401ab441c72
index 6ad329814ab00645a69999165edee27fd09aabcf..356a555e9f41169d9e702cc79d7f448ac592a7e5 100644 (file)
@@ -1 +1 @@
-c1cae7e7f0a612508c8f82b334d9ebc423f443e99b13092d52e26b348c7cbc5e
\ No newline at end of file
+09435b5700a2650816ad9ffa628be5fa19da62369c30329801feb5e840463c7e
\ No newline at end of file
index 7e527bbd66771a75bcdb3bc406f1729602bd14fb..10c23adfd32db4469c73b33627511c81296852d5 100644 (file)
@@ -192,10 +192,7 @@ SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){
 
   /* If the bPreserve flag is set to true, then the memory cell must already
   ** contain a valid string or blob value.  */
-  assert( bPreserve==0 
-       || pMem->flags&(MEM_Blob|MEM_Str)
-       || MemNullNochng(pMem)
-  );
+  assert( bPreserve==0 || pMem->flags&(MEM_Blob|MEM_Str) );
   testcase( bPreserve && pMem->z==0 );
 
   assert( pMem->szMalloc==0
@@ -309,6 +306,7 @@ int sqlite3VdbeMemExpandBlob(Mem *pMem){
   /* Set nByte to the number of bytes required to store the expanded blob. */
   nByte = pMem->n + pMem->u.nZero;
   if( nByte<=0 ){
+    if( (pMem->flags & MEM_Blob)==0 ) return SQLITE_OK;
     nByte = 1;
   }
   if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){