From: drh <> Date: Tue, 7 Jan 2025 15:39:57 +0000 (+0000) Subject: Fix a memory error in test logic introduced by [8704034254938662]. X-Git-Tag: major-relase~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ece17299582b7766d26422e91019fcc535ca93c9;p=thirdparty%2Fsqlite.git Fix a memory error in test logic introduced by [8704034254938662]. FossilOrigin-Name: 8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4 --- diff --git a/manifest b/manifest index 732add5baf..ba5fcdfbf6 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Typo\sin\sthe\sprevious\scheck-in. -D 2025-01-07T15:00:00.521 +C Fix\sa\smemory\serror\sin\stest\slogic\sintroduced\sby\s[8704034254938662]. +D 2025-01-07T15:39:57.880 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -789,7 +789,7 @@ F src/status.c cb11f8589a6912af2da3bb1ec509a94dd8ef27df4d4c1a97e0bcf2309ece972b F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 F src/tclsqlite.c 6e25a72d3f3769f779b05b2c618ae0388639d8e27d6434c2ff3926f3267342fe F src/tclsqlite.h 65e2c761446e1c9fa0342b7d2612a703483643c8b6a316d12a65b745a4727395 -F src/test1.c 7f5579f2786c11cf4391ec2abb7b5b5b234ca1408599d7a0d6dd32360e5f58d8 +F src/test1.c 07c9b523f90b96f6e9a701476602fa1f82075da19955823316b3fe13eaaa52cc F src/test2.c 7ebc518e6735939d8979273a6f7b1d9b5702babf059f6ad62499f7f60a9eb9a3 F src/test3.c e7573aa0f78ee4e070a4bc8c3493941c1aa64d5c66d4825c74c0f055451f432b F src/test4.c 13e57ae7ec7a959ee180970aef09deed141252fe9bb07c61054f0dfa4f1dfd5d @@ -1533,7 +1533,7 @@ F test/pg_common.tcl 3b27542224db1e713ae387459b5d117c836a5f6e328846922993b6d2b76 F test/pragma.test 11cb9310c42f921918f7f563e3c0b6e70f9f9c3a6a1cf12af8fccb6c574f3882 F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f F test/pragma3.test 92a46bbea12322dd94a404f49edcfbfc913a2c98115f0d030a7459bb4712ef31 -F test/pragma4.test 336b99c2a9fd35af3cc6da94f794b4cba09bbdb18f0ecbd3f734bb6bb8e1c15c +F test/pragma4.test 396ef9bff1fb966d41721545ad4b12bfc26aae315f5fe51d9b917828d49e6f8e F test/pragma5.test 7b33fc43e2e41abf17f35fb73f71b49671a380ea92a6c94b6ce530a25f8d9102 F test/pragma6.test c5ec577ba087954b4dfa619a3cbe97b155b60a0af487527abe89b10fc17e6512 F test/pragmafault.test 275edaf3161771d37de60e5c2b412627ac94cef11739236bec12ed1258b240f8 @@ -2205,8 +2205,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P c8972e652ebe62a8583904b5bc1d96b2d598222c037a714c8ff114ca84b52c7a -R 48f035d8ef2866d48331e5816d8b1a78 +P 5872d7a0a7d4959562e1218bbba1115df8b292d980234273d0d38749edf19822 +R 2dc5969771af2d8527fa6ca2001dd4f3 U drh -Z 152a8e1b3ff1b7672d585ac11e0307c5 +Z 0fbc54108ea801128f403bfa92cfd727 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 895b83beaa..77e363b6bd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5872d7a0a7d4959562e1218bbba1115df8b292d980234273d0d38749edf19822 +8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4 diff --git a/src/test1.c b/src/test1.c index a1a96d2b3c..4212c73232 100644 --- a/src/test1.c +++ b/src/test1.c @@ -7553,6 +7553,10 @@ static int SQLITE_TCLAPI test_wal_autocheckpoint( /* ** tclcmd: test_sqlite3_log ?SCRIPT? +** +** Caution: If you register a log callback, you must deregister it (by +** invoking test_sqlite3_log with no arguments) prior to closing the +** Tcl interpreter or else a memory error will occur. */ static struct LogCallback { Tcl_Interp *pInterp; @@ -7584,7 +7588,7 @@ static int SQLITE_TCLAPI test_sqlite3_log( logcallback.pInterp = 0; sqlite3_config(SQLITE_CONFIG_LOG, (void*)0, (void*)0); } - if( objc>1 ){ + if( objc>1 && Tcl_GetString(objv[1])[0]!=0 ){ logcallback.pObj = objv[1]; Tcl_IncrRefCount(logcallback.pObj); logcallback.pInterp = interp; diff --git a/test/pragma4.test b/test/pragma4.test index 0466960cab..2ba87c0c60 100644 --- a/test/pragma4.test +++ b/test/pragma4.test @@ -301,7 +301,7 @@ ifcapable vtab { do_test 6.3 { set ::log } {} - test_sqlite3_log {} + test_sqlite3_log } # 2024-05-08 https://sqlite.org/forum/forumpost/cf29a33e94