git: eeadef8fd523 - stable/12 - telnet: Fix telnet segfault when invalid set or help help commands
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 22 Jul 2022 13:04:30 UTC
The branch stable/12 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=eeadef8fd52388bb9345df0ef472e0e7feca4afa commit eeadef8fd52388bb9345df0ef472e0e7feca4afa Author: Cy Schubert <cy@FreeBSD.org> AuthorDate: 2022-07-14 04:42:06 +0000 Commit: Cy Schubert <cy@FreeBSD.org> CommitDate: 2022-07-22 13:04:07 +0000 telnet: Fix telnet segfault when invalid set or help help commands Silently ignore invalid set ' ' and invalid help help commands. This is the same fix applied by NetBSD in hg commit 1019940:4f248823eaff. PR: 265097 Reported by: Simon Josefsson <simon@josefsson.org> Obtained from: NetBSD hg commit 1019940:4f248823eaff NetBSD PR/56918 (cherry picked from commit a7399ea2dd7810e76dcfd52248764cb8004d49a4) --- contrib/telnet/telnet/commands.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/telnet/telnet/commands.c b/contrib/telnet/telnet/commands.c index 21e973209d9b..fd4597941724 100644 --- a/contrib/telnet/telnet/commands.c +++ b/contrib/telnet/telnet/commands.c @@ -938,7 +938,7 @@ setcmd(int argc, char *argv[]) } ct = getset(argv[1]); - if (ct == 0) { + if (ct == 0 || !(ct->name && ct->name[0] != ' ')) { c = GETTOGGLE(argv[1]); if (c == 0) { fprintf(stderr, "'%s': unknown argument ('set ?' for help).\n", @@ -1014,7 +1014,7 @@ unsetcmd(int argc, char *argv[]) while (argc--) { name = *argv++; ct = getset(name); - if (ct == 0) { + if (ct == 0 || !(ct->name && ct->name[0] != ' ')) { c = GETTOGGLE(name); if (c == 0) { fprintf(stderr, "'%s': unknown argument ('unset ?' for help).\n", @@ -2694,7 +2694,7 @@ help(int argc, char *argv[]) printf("?Ambiguous help command %s\n", arg); else if (c == (Command *)0) printf("?Invalid help command %s\n", arg); - else + else if (c->help) printf("%s\n", c->help); } return 0;