ash: fix "read -s" + ^C. Closes 5504
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
50157f3dec
commit
9e71e3cea5
@ -12803,6 +12803,10 @@ readcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
|
||||
}
|
||||
}
|
||||
|
||||
/* "read -s" needs to save/restore termios, can't allow ^C
|
||||
* to jump out of it.
|
||||
*/
|
||||
INT_OFF;
|
||||
r = shell_builtin_read(setvar2,
|
||||
argptr,
|
||||
bltinlookup("IFS"), /* can be NULL */
|
||||
@ -12812,6 +12816,7 @@ readcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
|
||||
opt_t,
|
||||
opt_u
|
||||
);
|
||||
INT_ON;
|
||||
|
||||
if ((uintptr_t)r > 1)
|
||||
ash_msg_and_raise_error(r);
|
||||
|
@ -170,7 +170,7 @@ shell_builtin_read(void FAST_FUNC (*setvar)(const char *name, const char *val),
|
||||
int timeout;
|
||||
|
||||
if ((bufpos & 0xff) == 0)
|
||||
buffer = xrealloc(buffer, bufpos + 0x100);
|
||||
buffer = xrealloc(buffer, bufpos + 0x101);
|
||||
|
||||
timeout = -1;
|
||||
if (end_ms) {
|
||||
|
Loading…
Reference in New Issue
Block a user