summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2001-09-10 02:41:20 +0000
committerClint Adams <clint@users.sourceforge.net>2001-09-10 02:41:20 +0000
commitcb0f8a08c7f8d95cdea766e8fd3726af49bef737 (patch)
tree53dbc7a0d312bd0052130059068cf96353b0ea12
parent41e0546a5800f95797ff0d3e72fb0faac525953f (diff)
downloadzsh-cb0f8a08c7f8d95cdea766e8fd3726af49bef737.tar.gz
zsh-cb0f8a08c7f8d95cdea766e8fd3726af49bef737.zip
unposted: stupid -a bug
-rw-r--r--ChangeLog4
-rw-r--r--Src/Modules/tcp.c7
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;
}