]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a memory leak in sqlite3expert.c introduced by [f1d76c86].
authordan <Dan Kennedy>
Tue, 24 Sep 2024 15:11:34 +0000 (15:11 +0000)
committerdan <Dan Kennedy>
Tue, 24 Sep 2024 15:11:34 +0000 (15:11 +0000)
FossilOrigin-Name: 42bb941584a1ac922ee6b0b6ecadce71c9259555563cf49913a6f820f3f9b887

ext/expert/expert1.test
ext/expert/sqlite3expert.c
manifest
manifest.uuid

index 41c59d49db52c55938658afd26a4b8379cecdd1e..239450442e868ffb883bf062138ba970e474e4a3 100644 (file)
@@ -494,4 +494,17 @@ USE TEMP B-TREE FOR ORDER BY
 }}
 }
 
+do_execsql_test 6.0 {
+  CREATE TABLE x1(a, b, c, d);
+  CREATE INDEX x1ab ON x1(a, lower(b));
+  CREATE INDEX x1dcba ON x1(d, b+c, a);
+}
+
+do_candidates_test 6.1 {
+  SELECT * FROM x1 WHERE b=? ORDER BY a;
+} {
+  CREATE INDEX x1_idx_0001267f ON x1(b, a); 
+  CREATE INDEX x1_idx_00000062 ON x1(b);
+}
+
 finish_test
index 082ce45a5bfb494e31a9f276c238906db0786d5f..31773395844bd9ed6e88d836a38b2868a5e7c3b7 100644 (file)
@@ -1626,6 +1626,7 @@ static int idxPopulateOneStat1(
     if( zName==0 ){
       /* This index contains an expression. Ignore it. */
       sqlite3_free(zCols);
+      sqlite3_free(zOrder);
       return sqlite3_reset(pIndexXInfo);
     }
     zCols = idxAppendText(&rc, zCols, 
index 04efac87bc4e528fbb670dc19a9848810a0958fd..5a40bbd21d5129a395bd39a5e35441a718d2ba40 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Avoid\san\serror\sin\ssqlite3expert\sif\sthe\sdatabase\shas\sexisting\sindexes\son\sexpressions.
-D 2024-09-24T11:26:21.974
+C Fix\sa\smemory\sleak\sin\ssqlite3expert.c\sintroduced\sby\s[f1d76c86].
+D 2024-09-24T15:11:34.516
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -57,8 +57,8 @@ F ext/consio/console_io.c d2b74afae8d301de2e8447b1045fcd33eb59df13bf581d906d99c7
 F ext/consio/console_io.h b5ebe34aa15b357621ebbea3d3f2e2b24750d4280b5802516409e23947fd9ee5
 F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
 F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
-F ext/expert/expert1.test fd13123932d60f535e2d589d704dc259d2f00e98e1ddc09deb807d1655aef9d1
-F ext/expert/sqlite3expert.c 79d90612e43ba71818a5d458412489ff80f0c01449e324f83c0d795ef1993974
+F ext/expert/expert1.test b10f9e20f64102a015c0fcf54cb7b7680266b397e91d93cdad45f57857cdfba6
+F ext/expert/sqlite3expert.c df417a6d91873a74d35daa9259171647c23c6601415e938e8a71702703f3d677
 F ext/expert/sqlite3expert.h ca81efc2679a92373a13a3e76a6138d0310e32be53d6c3bfaedabd158ea8969b
 F ext/expert/test_expert.c b767b2039a0df707eb3147e86bcf68b252d8455d9a41774b1a836cd052ceca70
 F ext/fts3/README.content b9078d0843a094d86af0d48dffbff13c906702b4c3558012e67b9c7cc3bf59ee
@@ -2213,8 +2213,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 766cf5535b9f51decd88c1736b988def929a90f68eb6a52bcaa21bb321586a08
-R f0b2fb4d0f36e0f6f4e7bc3a0dfe75ab
+P f1d76c8636866424fe0b57d8814b8bb1a0ed4e2ca1b75d8e308d4b962ad8dc3b
+R 3c493af72ec7c0caf9ac1da3817622db
 U dan
-Z e6e4bf2a760ba7d64af8767b4d70ff5b
+Z 3984c94792299f2aa3da5c0fd5ebea46
 # Remove this line to create a well-formed Fossil manifest.
index 105d181391a73db5c02c92da6157e8a1981e4068..f9ccf18fa564c5b1ebec596d96773fda99cc9fcd 100644 (file)
@@ -1 +1 @@
-f1d76c8636866424fe0b57d8814b8bb1a0ed4e2ca1b75d8e308d4b962ad8dc3b
+42bb941584a1ac922ee6b0b6ecadce71c9259555563cf49913a6f820f3f9b887