]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not use memcpy() of zero bytes when initializing a pager. This avoids
authordrh <drh@noemail.net>
Sat, 18 Jan 2020 19:46:42 +0000 (19:46 +0000)
committerdrh <drh@noemail.net>
Sat, 18 Jan 2020 19:46:42 +0000 (19:46 +0000)
a warning.

FossilOrigin-Name: cca437788e092b21ed1784dd94d4b1c7204ff1717538d276a10880d1345904bd

manifest
manifest.uuid
src/pager.c

index c5cac8765837567193910d7c28bc99a5eb1ce751..e0b84f124dbc349c8fa74e1a1bd7da665e6c39df 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Disable\sa\sredundant\stest\scase\sthat\suses\sa\svery\slarge\sstack,\sand\shence\nis\sunable\sto\srun\swith\s-fsanitize=undefined,address.
-D 2020-01-18T19:07:00.937
+C Do\snot\suse\smemcpy()\sof\szero\sbytes\swhen\sinitializing\sa\spager.\s\sThis\savoids\na\swarning.
+D 2020-01-18T19:46:42.954
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -518,7 +518,7 @@ F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
 F src/os_unix.c ad7640c04eed946052a3b12856362a773d0a717696707313037186df0e2b59f2
 F src/os_win.c 035a813cbd17f355bdcad7ab894af214a9c13a1db8aeac902365350b98cd45a7
 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
-F src/pager.c 40d3aa2c6cdc56011b9cdc8190f01838beca29cf3b28215313fd29205e8b728c
+F src/pager.c 302a18da8b247881808cd65009e1ac7c8b6e5cefb22ed9a1c330ed47b73e94ab
 F src/pager.h 71fe1d5016ec54d0cc5d344cd474e563450b438c59f535e8c1ec8a13b1373f14
 F src/parse.y c8d2de64db469fd56e0fa24da46cd8ec8523eb98626567d2708df371b47fdc3f
 F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
@@ -1857,7 +1857,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 cd0437ba5b13593ebe4ec30d6236623183f8cfa30ca8a0612662eccb282a863e
-R 46d6fae77c45d0d0c7c9db97f81cc917
+P 3c63f68e12af36e9fd9a3dd4daec9402e75e80bcd819d39c0215a427fd0d7803
+R 0fa85a9d25ff75c3f2a3977560ee15f3
 U drh
-Z 52b7230249f9370da62df185e5b3adaf
+Z 19c31381e7a9c501b7f49796334ab78f
index 0fa2f3ad40e073116733edfbf0b5eaa7ac54dc8c..ccb7e488b48524aa3f15a927a64e8f804e02355e 100644 (file)
@@ -1 +1 @@
-3c63f68e12af36e9fd9a3dd4daec9402e75e80bcd819d39c0215a427fd0d7803
\ No newline at end of file
+cca437788e092b21ed1784dd94d4b1c7204ff1717538d276a10880d1345904bd
\ No newline at end of file
index 7f8d053a9904bff96cb5ee589bbbaefb754a1d86..ae75aeb7cf342ba5c89eeded612c8fe1a1507685 100644 (file)
@@ -4911,11 +4911,13 @@ int sqlite3PagerOpen(
   /* Fill in the Pager.zFilename and pPager.zQueryParam fields */
   pPtr[0] = '\003'; pPtr[1] = 0;          pPtr += 2;
   pPager->zFilename = (char*)pPtr;
-  memcpy(pPtr, zPathname, nPathname);     pPtr += nPathname + 1;
-  if( zUri ){
-    memcpy(pPtr, zUri, nUriByte);      /* pPtr += nUriByte; // not needed */
+  if( nPathname>0 ){
+    memcpy(pPtr, zPathname, nPathname);   pPtr += nPathname + 1;
+    if( zUri ){
+      memcpy(pPtr, zUri, nUriByte);    /* pPtr += nUriByte; // not needed */
+    }
+    /* Double-zero terminator implied by the sqlite3MallocZero */
   }
-  /* Double-zero terminator implied by the sqlite3MallocZero */
 
   if( nPathname ) sqlite3DbFree(0, zPathname);
   pPager->pVfs = pVfs;