Commit a11850cc authored by Stéphane Lesimple's avatar Stéphane Lesimple

rc: fix an infinite loop on tty close

if the tty is closed while the script is running,
it would previously go in an infinite loop trying
to read from and write to the now-defunct tty.

fixes: https://github.com/opnsense/core/issues/1240
parent 8d11de1b
......@@ -18,6 +18,13 @@ fi
# endless loop
while : ; do
# We `set -e' to force exit if we encounter an error.
# This is mainly useful in case we lose our tty (happens when
# an ssh connection breaks, for example), in which case our stdout
# is closed and the `echo' commands in the while loop will silently fail.
# Failure to exit at that moment would lead to an infinite loop.
set -e
echo
echo " 0) Logout 7) Ping host"
......@@ -32,6 +39,9 @@ echo
read -p "Enter an option: " OPCODE
echo
# The scripts we'll call below may return non-zero, don't exit if they do
set +e
# see what the user has chosen
case ${OPCODE} in
0|exit|logout|quit)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment