-C Add\sa\scall\sto\ssqlite3_reset_auto_extension()\snear\sthe\send\sof\sshell.c.in:main()\sto\ssquelch\sa\sleak\smessage\swhen\sSQLITE_EXTRA_INIT\sadds\sauto-extensions,\sas\sreported\sin\s[forum:310cb231b07c80d1|forum\spost\s310cb231b07c80d1].
-D 2026-04-06T20:24:02.900
+C Add\sa\sdummy\sauto-extension\sto\sthe\sshell\sin\sSQLITE_DEBUG\sbuilds\sto\svalidate\sthat\s[9d56df17b4ab49]\sdoes\sthe\sright\sthing.
+D 2026-04-06T22:00:20.266
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F src/resolve.c 928ff887f2a7c64275182060d94d06fdddbe32226c569781cf7e7edc6f58d7fd
F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
F src/select.c ffe199f025a0dd74670d2a77232bdea364a4d7b36f32c64a6572d39ba6a11576
-F src/shell.c.in 869f648beaafdaff6dbedb598b5aaf8770a3454f4bcd423fbfc704174e30313f
+F src/shell.c.in c3baffab4bc9f68be47eda087e47425ba37ef5c37f00617559c6a494b5c8dab5
F src/sqlite.h.in 9cc1df08742989eb67ed2065f73a582195c48fee2eec5df9df122b33d4872885
F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
F src/sqlite3ext.h 1b7a0ee438bb5c2896d0609c537e917d8057b3340f6ad004d2de44f03e3d3cca
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 9d56df17b4ab4940f7bc24488a9df118f6172fcfbf3e5cb95bdcbd2db2a07911
-R cba6e4f8d2471f5a2d341062e378ef5d
+P c4dd7e8b36deced3ee9cc6b5f87d8b3cc9a752cad8d62c9b711c7b58db11834b
+R 270616ffaec7921abd36defc5a895e72
U stephan
-Z b67c1173e213f57ef016d760b71ea8a2
+Z 5ef21d67fb27fbc6b50e30ad6b25a59e
# Remove this line to create a well-formed Fossil manifest.
return 1;
}
+#if defined(SQLITE_DEBUG) && !defined(SQLITE_SHELL_FIDDLE)
+/* Ensure that sqlite3_reset_auto_extension() clears auto-extension
+** memory. https://sqlite.org/forum/forumpost/310cb231b07c80d1.
+** Testing this: if we (inadvertently) remove the
+** sqlite3_reset_auto_extension() call from main(), most shell tests
+** will fail because of a leak message in their output. */
+static int auto_ext_leak_tester(
+ sqlite3 *db, const char **pzErrMsg,
+ const struct sqlite3_api_routines *pThunk
+){
+ (void)db; (void)pzErrMsg; (void)pThunk;
+ return SQLITE_OK;
+}
+#endif
+
/* Alternative name to the entry point for Fiddle */
#ifdef SQLITE_SHELL_FIDDLE
# define main fiddle_main
}
#ifndef SQLITE_SHELL_FIDDLE
sqlite3_appendvfs_init(0,0,0);
+#ifdef SQLITE_DEBUG
+ sqlite3_auto_extension( (void (*)())auto_ext_leak_tester );
+#endif
#endif
modeDefault(&data);