summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorGravatar John Kohl <jtkohl@mit.edu>1988-06-22 10:05:58 +0000
committerGravatar John Kohl <jtkohl@mit.edu>1988-06-22 10:05:58 +0000
commit7ded7f304a134a94a5f2e9e80543ca3a765580d9 (patch)
tree236db82be0f013b0c3cacc0e6dddb1eb480b7dec /server
parentc630d5d5608114cf9cd1acb6462780829caa7b53 (diff)
cleanup auto-port assignment.
lint fix (bug fix: pass addr of buffer, not addr of addr of buffer)
Diffstat (limited to 'server')
-rw-r--r--server/bdump.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/server/bdump.c b/server/bdump.c
index b89d9af..5a27bfc 100644
--- a/server/bdump.c
+++ b/server/bdump.c
@@ -96,11 +96,21 @@ struct sockaddr_in *who;
bdump_sin.sin_addr.s_addr = INADDR_ANY;
bdump_sin.sin_family = AF_INET;
if ((retval = bind(bdump_socket, (struct sockaddr *) &bdump_sin, sizeof(bdump_sin))) < 0) {
- syslog(LOG_ERR, "bdump bind %d: %m", htons(bdump_sin.sin_port));
+ syslog(LOG_ERR, "bdump bind: %m");
(void) close(bdump_socket);
bdump_socket = -1;
return;
}
+ if (!bdump_sin.sin_port) {
+ int len = sizeof(bdump_sin);
+ if (getsockname(bdump_socket,
+ (struct sockaddr *)&bdump_sin, &len)) {
+ syslog(LOG_ERR, "bdump getsockname: %m");
+ (void) close(bdump_socket);
+ bdump_socket = -1;
+ return;
+ }
+ }
#else
int bdump_port = IPPORT_RESERVED - 1;
/*
@@ -1068,7 +1078,7 @@ int len;
return(ZSRV_LEN);
}
}
- if ((count = net_write(live_socket, *pack, packlen)) != packlen)
+ if ((count = net_write(live_socket, pack, packlen)) != packlen)
if (count < 0) {
syslog(LOG_WARNING, "snt xmit: %m");
xfree(pack); /* free allocated storage */