diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Src/Modules/tcp.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 558cbf3f0..9fdb41625 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2001-09-10 Clint Adams <clint@zsh.org> + * unposted: Src/Modules/tcp.c: + don't segfault on -a if + the session table is empty. + * 15772: Src/Modules/tcp.c: add -t (test) for ztcp. diff --git a/Src/Modules/tcp.c b/Src/Modules/tcp.c index 884b2b25f..0a81ba9db 100644 --- a/Src/Modules/tcp.c +++ b/Src/Modules/tcp.c @@ -309,13 +309,12 @@ zts_byfd(int fd) tsess = zts_head(); - do { + while(tsess != NULL) { if (tsess->fd == fd) return tsess; tsess = zts_next(tsess); } - while(tsess != NULL); return NULL; } @@ -387,7 +386,7 @@ bin_ztcp(char *nam, char **args, char *ops, int func) char **addrp, *desthost, *localname, *remotename; struct hostent *zthost = NULL, *ztpeer = NULL; struct servent *srv; - Tcp_session sess; + Tcp_session sess = NULL; if (ops['f']) force = 1; @@ -502,7 +501,7 @@ bin_ztcp(char *nam, char **args, char *ops, int func) sess = zts_byfd(lfd); if (!sess) { - zwarnnam(nam, "fd is not registered as a tcp connection", NULL, 0); + zwarnnam(nam, "fd %s is not registered as a tcp connection", args[0], 0); return 1; } |