From: drh Date: Fri, 11 Nov 2011 23:51:15 +0000 (+0000) Subject: Catch and report errors from sqlite3OsFullPathname(). X-Git-Tag: version-3.7.10~19^2~102 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4cb5f436cba31df86076b949b0968d77fa8a0092;p=thirdparty%2Fsqlite.git Catch and report errors from sqlite3OsFullPathname(). FossilOrigin-Name: 77119785c84ac7f416ed72c38c532399b6093d7a --- diff --git a/manifest b/manifest index 1d56a640de..2df6569372 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\ssure\sa\scorrupt\sindex\sdoes\snot\scause\sa\sbuffer\soverread\sin\s\nsqlite3VdbeRecordCompare(). -D 2011-11-11T00:27:15.786 +C Catch\sand\sreport\serrors\sfrom\ssqlite3OsFullPathname(). +D 2011-11-11T23:51:15.820 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -125,7 +125,7 @@ F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34 F src/backup.c 4368158da74d4711888e03264105c5c527d76caf F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7 -F src/btree.c 2521a74f04cf288497af3b318fa3a31efb272ef6 +F src/btree.c 80ea65224512884bb72976c93810d2dcaecc1353 F src/btree.h f5d775cd6cfc7ac32a2535b70e8d2af48ef5f2ce F src/btreeInt.h ea863a819224d3e6845ad1e39954d41558b8cd8b F src/build.c 8af67a08a852ff4c63701963cb1ab7166f577814 @@ -974,7 +974,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 8f28797984c1d4700357a75815ca4b324c3ebf5c -R 0b7ae5ff536a087fdb2c3479a3ed3d3f +P 471cf0d8e7857110e525e029c2d535cb518dba6a +R 65b07c80cc955ef693a9df9b61c2f7e6 U drh -Z 717b87433a48f5a306459509a02bb49f +Z 2bcb48737ffc2ef5d0789f9c5e08f674 diff --git a/manifest.uuid b/manifest.uuid index 8f58ddd640..d5d2731377 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -471cf0d8e7857110e525e029c2d535cb518dba6a \ No newline at end of file +77119785c84ac7f416ed72c38c532399b6093d7a \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index a1b05e1f3e..713016e756 100644 --- a/src/btree.c +++ b/src/btree.c @@ -1776,7 +1776,12 @@ int sqlite3BtreeOpen( sqlite3_free(p); return SQLITE_NOMEM; } - sqlite3OsFullPathname(pVfs, zFilename, nFullPathname, zFullPathname); + rc = sqlite3OsFullPathname(pVfs, zFilename, nFullPathname, zFullPathname); + if( rc ){ + sqlite3_free(zFullPathname); + sqlite3_free(p); + return rc; + } #if SQLITE_THREADSAFE mutexOpen = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_OPEN); sqlite3_mutex_enter(mutexOpen);