nuttx-apps/nshlib
wangjianyu3 ed063a0981 nshlib: fix infinite loop on broken stdout in nsh_catfile
When stdout is broken (e.g. PTY master closed), nsh_catfile could spin
forever: write() fails, error logging generates syslog output to
/dev/log, next read() picks it up, write() fails again, ad infinitum.

Two fixes:
- nsh_console: drop the _err() in nsh_consolewrite entirely.  The risk
  is errno-agnostic (EPIPE / EIO / ENOSPC / ...): any failure logged
  here can be re-injected by the syslog backend when OUTFD is bound to
  /dev/log.  Callers already see the failure via the negative return
  value and errno, so on-failure logging at this layer is redundant.
- nsh_fsutils: jump straight from the inner write-failure path to a
  single errout: cleanup label instead of using a two-level break +
  flag check, so a failed write cannot fall through to another read().

Assisted-by: GitHubCopilot:claude-4.7-opus
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-05-26 16:06:28 -03:00
..
CMakeLists.txt nshlib/nsh_builtin.c : Add support to run builtin dirrectly as command 2025-09-11 20:00:20 +08:00
Kconfig nshlib: add chmod and chown builtins 2026-05-19 09:56:24 +08:00
Make.defs nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
Makefile nshlib/nsh_builtin.c : Add support to run builtin dirrectly as command 2025-09-11 20:00:20 +08:00
nsh.h nshlib: add chmod and chown builtins 2026-05-19 09:56:24 +08:00
nsh_alias.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_altconsole.c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nsh_builtin.c sched/signal: Add support to disable partial or all signals 2026-01-15 15:48:54 +08:00
nsh_codeccmd.c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nsh_command.c nshlib: add chmod and chown builtins 2026-05-19 09:56:24 +08:00
nsh_console.c nshlib: fix infinite loop on broken stdout in nsh_catfile 2026-05-26 16:06:28 -03:00
nsh_console.h nshlib: Add stderr redirection support 2026-01-27 03:14:00 +08:00
nsh_consolemain.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_dbgcmds.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_envcmds.c apps: Fix unchecked strdup()/asprintf() as requested in #1727 2026-05-23 16:30:52 -04:00
nsh_fileapps.c nshlib: Add stderr redirection support 2026-01-27 03:14:00 +08:00
nsh_fscmds.c nshlib: add chmod and chown builtins 2026-05-19 09:56:24 +08:00
nsh_fsutils.c nshlib: fix infinite loop on broken stdout in nsh_catfile 2026-05-26 16:06:28 -03:00
nsh_init.c !apps: Simplify NuttX initialization 2026-05-06 13:27:05 +08:00
nsh_login.c apps/nshlib: replace CONFIG_NSH_LINELEN to LINE_MAX 2025-01-14 19:31:54 +08:00
nsh_mmcmds.c apps/nshlib: Reuse local variable for cmd_memdump 2025-01-17 23:27:43 +08:00
nsh_mntcmds.c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nsh_modcmds.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_netcmds.c apps: Fix unchecked strdup()/asprintf() as requested in #1727 2026-05-23 16:30:52 -04:00
nsh_parse.c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nsh_passwdcmds.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_printf.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_proccmds.c signals: fix build and runtime issues when signals all isabled 2026-01-19 22:55:19 +08:00
nsh_prompt.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_routecmds.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_script.c nshlib/testing: Fix open() arguments. 2026-05-22 13:39:04 +08:00
nsh_session.c nsh: return EOF when nread is 0 2025-12-10 11:24:14 +08:00
nsh_syscmds.c nsh_syscmds/rpmsg: add rpmsg test command support 2026-01-08 22:50:11 +08:00
nsh_system.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_telnetd.c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nsh_telnetlogin.c apps/nshlib: replace CONFIG_NSH_LINELEN to LINE_MAX 2025-01-14 19:31:54 +08:00
nsh_test.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_timcmds.c !apps: drop redundant casts on tv_sec/tv_nsec and fix printf formats 2026-05-22 13:38:25 +08:00
nsh_usbconsole.c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nsh_usbtrace.c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nsh_vars.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
nsh_wait.c nshlib: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
rc.sysinit.template nsh/script: support rc.sysinit script 2022-04-21 12:54:24 +03:00
rcS.template nsh/script: support rc.sysinit script 2022-04-21 12:54:24 +03:00