aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrh <>2025-01-07 15:39:57 +0000
committerdrh <>2025-01-07 15:39:57 +0000
commitece17299582b7766d26422e91019fcc535ca93c9 (patch)
treea75181e627a28747fcb9e3f09c493feab1b6f1f9
parent4a833113706cc8a26f749f837e6492ac2ea79c6a (diff)
downloadsqlite-ece17299582b7766d26422e91019fcc535ca93c9.tar.gz
sqlite-ece17299582b7766d26422e91019fcc535ca93c9.zip
Fix a memory error in test logic introduced by [8704034254938662].
FossilOrigin-Name: 8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4
-rw-r--r--manifest14
-rw-r--r--manifest.uuid2
-rw-r--r--src/test1.c6
-rw-r--r--test/pragma4.test2
4 files changed, 14 insertions, 10 deletions
diff --git a/manifest b/manifest
index 732add5ba..ba5fcdfbf 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 895b83bea..77e363b6b 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-5872d7a0a7d4959562e1218bbba1115df8b292d980234273d0d38749edf19822
+8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4
diff --git a/src/test1.c b/src/test1.c
index a1a96d2b3..4212c7323 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 0466960ca..2ba87c0c6 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