From: dan Date: Wed, 1 Mar 2017 11:30:27 +0000 (+0000) Subject: Fix a use-after-free problem in the shell tool code that could occur if an SQL X-Git-Tag: version-3.18.0~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2147221c36ca4f5067e6e2ea0dd0b8eac4a18f37;p=thirdparty%2Fsqlite.git Fix a use-after-free problem in the shell tool code that could occur if an SQL statement were executed after an ".open" command with invalid options. FossilOrigin-Name: ac760db0727209db0a816e112ea5f47e54d54dac --- diff --git a/manifest b/manifest index c06c866121..f194990812 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\sPATH\shandling\smore\srobust\sin\sthe\sbatch\stools\sfor\sMSVC. -D 2017-02-27T17:16:27.906 +C Fix\sa\suse-after-free\sproblem\sin\sthe\sshell\stool\scode\sthat\scould\soccur\sif\san\sSQL\nstatement\swere\sexecuted\safter\san\s".open"\scommand\swith\sinvalid\soptions. +D 2017-03-01T11:30:27.730 F Makefile.in edb6bcdd37748d2b1c3422ff727c748df7ffe918 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc a89ea37ab5928026001569f056973b9059492fe2 @@ -397,7 +397,7 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c f9bc0de45a30a450da47b3766de00be89bf9be79 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/select.c d12f3539f80db38b09015561b569e0eb1c4b6c5f -F src/shell.c bf976d5301be9d8a4c52852c97909cc9a41ee20d +F src/shell.c 27d2b31099fd2cd749e44d025ef9b54ca26692cb F src/sqlite.h.in 4d0c08f8640c586564a7032b259c5f69bf397850 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae @@ -1559,7 +1559,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 2b210d691462b463796e7948399133c296e89ebf -R 2fadaa28e86ebe3a08aafa06769bc23f -U mistachkin -Z 6b968b4fe877e63444beda0443031271 +P 23a8917e848a999533bc66467f7cb2f4f3d45bc1 +R 6f5948ee4f1d68e0584e854f4c330a6f +U dan +Z 4914d52d58dfba6bed9b5d6006acef82 diff --git a/manifest.uuid b/manifest.uuid index af9a30ac81..a3f75430ae 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -23a8917e848a999533bc66467f7cb2f4f3d45bc1 \ No newline at end of file +ac760db0727209db0a816e112ea5f47e54d54dac \ No newline at end of file diff --git a/src/shell.c b/src/shell.c index f1c7f3c157..2dcf915f28 100644 --- a/src/shell.c +++ b/src/shell.c @@ -4344,6 +4344,7 @@ static int do_meta_command(char *zLine, ShellState *p){ session_close_all(p); sqlite3_close(p->db); p->db = 0; + p->zDbFilename = 0; sqlite3_free(p->zFreeOnClose); p->zFreeOnClose = 0; /* Check for command-line arguments */