From: drh Date: Tue, 17 Feb 2009 16:17:01 +0000 (+0000) Subject: Make sure result variables are initialized or unused following a failure X-Git-Tag: version-3.6.15~455 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8df800d4cb57917b4d909678cb467a200120e96;p=thirdparty%2Fsqlite.git Make sure result variables are initialized or unused following a failure of the xFullPathname VFS interface. Problem detected by valgrind. (CVS 6295) FossilOrigin-Name: 59a4755185f0e51699cd020ae67d279bee45de1c --- diff --git a/manifest b/manifest index 8aea8e85b6..9c303eb482 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Changes\sto\sremove\ssome\scompiler\swarnings\sfrom\sMSVC.\s(CVS\s6294) -D 2009-02-16T17:55:47 +C Make\ssure\sresult\svariables\sare\sinitialized\sor\sunused\sfollowing\sa\sfailure\nof\sthe\sxFullPathname\sVFS\sinterface.\s\sProblem\sdetected\sby\svalgrind.\s(CVS\s6295) +D 2009-02-17T16:17:02 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in c7a5a30fb6852bd7839b1024e1661da8549878ee F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -143,7 +143,7 @@ F src/os_common.h 24525d8b7bce66c374dfc1810a6c9043f3359b60 F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 F src/os_unix.c 4e916cafbf5ec0166213ac62d680ebbe12b8c5a7 F src/os_win.c 45cb430884da7e9360a55a0fcd5c2c44c22dd79d -F src/pager.c d8d10a4108d0657b7355a2a9e06a4d6d1dea2b95 +F src/pager.c eede73b78da4ecce58476d25cc9404910724d2ae F src/pager.h 0c9f3520c00d8a3b8e792ca56c9a11b6b02b4b0f F src/parse.y 4f4d16aee0d11f69fec2adb77dac88878043ed8d F src/pcache.c fcf7738c83c4d3e9d45836b2334c8a368cc41274 @@ -701,7 +701,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 82222fbf5d5a085ce3e2c172c648a4c6d9750626 -R 5792b17dd0ef6f8c8f8c49659a1094a2 -U shane -Z b59c9ee7296e40d8afadf2a2abdd402b +P 68f15442e8db364952d30daf4ce60c6b938f5906 +R d1aad110f68975c95dc4ed818ce8aeba +U drh +Z 4902f559ade9ef6adea70c902c58230a diff --git a/manifest.uuid b/manifest.uuid index dcd99de071..e4cf04a6df 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -68f15442e8db364952d30daf4ce60c6b938f5906 \ No newline at end of file +59a4755185f0e51699cd020ae67d279bee45de1c \ No newline at end of file diff --git a/src/pager.c b/src/pager.c index 5125842ef0..afc9852c4f 100644 --- a/src/pager.c +++ b/src/pager.c @@ -18,7 +18,7 @@ ** file simultaneously, or one process from reading the database while ** another is writing. ** -** @(#) $Id: pager.c,v 1.568 2009/02/12 17:01:50 danielk1977 Exp $ +** @(#) $Id: pager.c,v 1.569 2009/02/17 16:17:02 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" @@ -3144,6 +3144,7 @@ int sqlite3PagerOpen( }else #endif { + zPathname[0] = 0; /* Make sure initialized even if FullPathname() fails */ rc = sqlite3OsFullPathname(pVfs, zFilename, nPathname, zPathname); }