]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix malf with redirected input due to bad assumption that stdin is a console in the...
authorlarrybr <larrybr@noemail.net>
Sat, 11 Nov 2023 13:09:09 +0000 (13:09 +0000)
committerlarrybr <larrybr@noemail.net>
Sat, 11 Nov 2023 13:09:09 +0000 (13:09 +0000)
FossilOrigin-Name: 79d1f2c1019964dd154fbdd3f349822cb946a2600883994523ed145047f0a9ea

ext/consio/console_io.c
manifest
manifest.uuid

index 5d38feef3778c56d510625b03bee09ad77c37d6b..620200a9505342b3a2861edec832e3ae4a359ac5 100755 (executable)
@@ -131,7 +131,6 @@ typedef struct ConsoleInfo {
   PerStreamTags pstSetup[3];
   PerStreamTags pstDesignated[3];
   StreamsAreConsole sacSetup;
-  StreamsAreConsole sacDesignated;
 } ConsoleInfo;
 
 static short isValidStreamInfo(PerStreamTags *ppst){
@@ -141,7 +140,7 @@ static short isValidStreamInfo(PerStreamTags *ppst){
 static ConsoleInfo consoleInfo = {
   { /* pstSetup */ CI_INITIALIZER, CI_INITIALIZER, CI_INITIALIZER },
   { /* pstDesignated[] */ CI_INITIALIZER, CI_INITIALIZER, CI_INITIALIZER },
-  SAC_NoConsole, SAC_NoConsole /* sacSetup, sacDesignated */
+  SAC_NoConsole /* sacSetup */
 };
 #undef SHELL_INVALID_FILE_PTR
 #undef CI_INITIALIZER
@@ -520,7 +519,8 @@ static int mbcsToUtf8InPlaceIfValid(char *pc, int nci, int nco, UINT codePage){
 SQLITE_INTERNAL_LINKAGE char* fGetsUtf8(char *cBuf, int ncMax, FILE *pfIn){
   if( pfIn==0 ) pfIn = stdin;
 #if SHELL_CON_TRANSLATE
-  if( pfIn == consoleInfo.pstSetup[0].pf ){
+  if( pfIn == consoleInfo.pstSetup[0].pf
+      && (consoleInfo.sacSetup & SAC_InConsole)!=0 ){
 # if SHELL_CON_TRANSLATE==1
 #  define SHELL_GULP 150 /* Count of WCHARS to be gulped at a time */
     WCHAR wcBuf[SHELL_GULP+1];
index c56d84fa858e4bdf25bb5269e57e7e1cdb67df61..2068eb4fbc85012b74324455ea0c0dd914e0b91a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Pervasive\schanges\sto\sconsole_io.{c,h}\sin\ssupport\sof\ssimplifying\subiquitous\semit\sops\sin\sshell,\sand\sto\sget\sbetter\scontrol\sof\sconsole\sstreams\sthat\smight\sbe\sopened\sonly\svia\s.read\sor\s.output\scommands.\sChanges\sto\sshell\sto\suse\s{s,o,e}put{f,z}(...)\scalls\sfor\sinitial\stesting,\sbut\sthis\scheck-in\shas\sfew\ssuch\sconversions\sso\sthat\smost\swill\sbe\sin\sa\sseparate\scheck-in.\sMany\srenames\sto\sbetter\sfollow\srecent\scoding\sconvention.\sThis\scode\sseems\sto\sbe\sworking,\sbut\shas\snot\sbeen\stested\son\sdifficult\splatforms\sor\swith\smultiple\sconsole\shosts\syet.\sSo\sit\sis\sa\sWIP.
-D 2023-11-11T06:20:38.614
+C Fix\smalf\swith\sredirected\sinput\sdue\sto\sbad\sassumption\sthat\sstdin\sis\sa\sconsole\sin\sthe\sfgets()\sreplacement.
+D 2023-11-11T13:09:09.686
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -50,7 +50,7 @@ F ext/README.md fd5f78013b0a2bc6f0067afb19e6ad040e89a10179b4f6f03eee58fac5f169bd
 F ext/async/README.txt e12275968f6fde133a80e04387d0e839b0c51f91
 F ext/async/sqlite3async.c 6f247666b495c477628dd19364d279c78ea48cd90c72d9f9b98ad1aff3294f94
 F ext/async/sqlite3async.h 46b47c79357b97ad85d20d2795942c0020dc20c532114a49808287f04aa5309a
-F ext/consio/console_io.c 19344e149e5c939c3c421823033abd4179d276ec1dae5f99e37d5bcd68ddbd59 x
+F ext/consio/console_io.c c1e16d6c41a04952784abc4b055c5739c1ee3163aa475859725b66d1ccc656bd x
 F ext/consio/console_io.h c64d51d9f4e387679027d3b0977893390652f40c2e50a3c797506a9abb4856dc
 F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
 F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
@@ -2141,8 +2141,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P d5e88fcde53ca7ba05bb164943a9f57bd92080bb7e5eebbbed64b9886ac97338 3978c084a509c3c739fbe87e20feec9ddf1325e35170329987af197ca9fd731a f1eae192315335d7e385b0a801a17700a9718d245bda6628518c5df9a1e9d3d6
-R 13fdfe04f23cf8d5bcfae91b277b730e
+P 14762a004cdf37d1e12f26aadff8ed3824893278f22ff141de86dd44d9b250f3
+R 5b544ddbaeeb17ecd11dc0a538d27e36
 U larrybr
-Z 7767a4710aecdf1826b87f96aec24468
+Z d3728cfdee8358558d79b5ead14c0ffb
 # Remove this line to create a well-formed Fossil manifest.
index 340d950f96a618da9080a906704e2b4c8f1390a6..f798d85bff267279fb65f7ee254a64bc31ae0dd3 100644 (file)
@@ -1 +1 @@
-14762a004cdf37d1e12f26aadff8ed3824893278f22ff141de86dd44d9b250f3
\ No newline at end of file
+79d1f2c1019964dd154fbdd3f349822cb946a2600883994523ed145047f0a9ea
\ No newline at end of file