]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a memory error in test logic introduced by [8704034254938662].
authordrh <>
Tue, 7 Jan 2025 15:39:57 +0000 (15:39 +0000)
committerdrh <>
Tue, 7 Jan 2025 15:39:57 +0000 (15:39 +0000)
FossilOrigin-Name: 8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4

manifest
manifest.uuid
src/test1.c
test/pragma4.test

index 732add5baf054d37c6b43f6e6c1e1c4cf72d7d4e..ba5fcdfbf6e0a4c6f854cc7823ad1550a0285863 100644 (file)
--- 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.
index 895b83beaacf72451e2995a36c4512ba7af98b22..77e363b6bd241bf662664721e5b7c566e7e42683 100644 (file)
@@ -1 +1 @@
-5872d7a0a7d4959562e1218bbba1115df8b292d980234273d0d38749edf19822
+8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4
index a1a96d2b3cfc49d98d6abe6cf587fc7791deb5da..4212c73232ae5b7c79fefce5da769282b045c77b 100644 (file)
@@ -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;
index 0466960cab30bf4f85edfb9e3f75888916365b9f..2ba87c0c60b1e2a3aebf9dd78d861b4d57762929 100644 (file)
@@ -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