From: drh Date: Sat, 18 Jan 2020 19:46:42 +0000 (+0000) Subject: Do not use memcpy() of zero bytes when initializing a pager. This avoids X-Git-Tag: version-3.31.0~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f71eb2091fdb165ab97f7e50cb8cbdc6d39a0a86;p=thirdparty%2Fsqlite.git Do not use memcpy() of zero bytes when initializing a pager. This avoids a warning. FossilOrigin-Name: cca437788e092b21ed1784dd94d4b1c7204ff1717538d276a10880d1345904bd --- diff --git a/manifest b/manifest index c5cac87658..e0b84f124d 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index 0fa2f3ad40..ccb7e488b4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3c63f68e12af36e9fd9a3dd4daec9402e75e80bcd819d39c0215a427fd0d7803 \ No newline at end of file +cca437788e092b21ed1784dd94d4b1c7204ff1717538d276a10880d1345904bd \ No newline at end of file diff --git a/src/pager.c b/src/pager.c index 7f8d053a99..ae75aeb7cf 100644 --- a/src/pager.c +++ b/src/pager.c @@ -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;