diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2014-04-17 14:11:28 +0200 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2014-04-17 14:11:28 +0200 |
commit | c3927cc39106d6b7cd746109784b6e8af203ec6b (patch) | |
tree | c7e4f517ca9a07c0cd8c809da7af0251e8cec6a7 /process.c | |
parent | 28a2487f484d19f570280f391f606aeb7fb3fb4a (diff) | |
download | screen-c3927cc39106d6b7cd746109784b6e8af203ec6b.tar.gz |
Imported Upstream version 4.2.0upstream/4.2.0
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -6360,6 +6360,12 @@ char *data; buf = crypt(u->u_password, salt); bzero(u->u_password, strlen(u->u_password)); free((char *)u->u_password); + if (!buf) + { + Msg(0, "[ crypt() error - no secure ]"); + u->u_password = NullStr; + return; + } u->u_password = SaveStr(buf); bzero(buf, strlen(buf)); #ifdef COPY_PASTE @@ -6472,6 +6478,7 @@ int i; { struct action *act; int discard = 0; + int keyno = i; debug1("StuffKey #%d", i); #ifdef DEBUG @@ -6511,6 +6518,9 @@ int i; if (discard && (!act || act->nr != RC_COMMAND)) { + /* if the input was just a single byte we let it through */ + if (D_tcs[keyno + T_CAPS].str && strlen(D_tcs[keyno + T_CAPS].str) == 1) + return -1; if (D_ESCseen) { D_ESCseen = 0; |