aboutsummaryrefslogtreecommitdiff
path: root/libexec/talkd/talkd.c
diff options
context:
space:
mode:
authorPaul Traina <pst@FreeBSD.org>1997-01-18 08:30:01 +0000
committerPaul Traina <pst@FreeBSD.org>1997-01-18 08:30:01 +0000
commitdfe0d2158ec231adafbcf7761d0aaa657ebcda8c (patch)
tree14d2380818cc302922727509c87a7319f8fd6fa9 /libexec/talkd/talkd.c
parent84e89c22eb3bf9b5ae7752a7131a38b4ae8d39bb (diff)
downloadsrc-dfe0d2158ec231adafbcf7761d0aaa657ebcda8c.tar.gz
src-dfe0d2158ec231adafbcf7761d0aaa657ebcda8c.zip
Fix buffer overrun problem.
Cannidate for: 2.2 [must] Obtained from: Lite/2 and BSDI's published patch
Notes
Notes: svn path=/head/; revision=21838
Diffstat (limited to 'libexec/talkd/talkd.c')
-rw-r--r--libexec/talkd/talkd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libexec/talkd/talkd.c b/libexec/talkd/talkd.c
index d2d5a2cbedb6..c049230abd1d 100644
--- a/libexec/talkd/talkd.c
+++ b/libexec/talkd/talkd.c
@@ -71,7 +71,7 @@ int debug = 0;
void timeout();
long lastmsgtime;
-char hostname[MAXHOSTNAMELEN];
+char hostname[MAXHOSTNAMELEN + 1];
#define TIMEOUT 30
#define MAXIDLE 120
@@ -112,6 +112,7 @@ main(argc, argv)
lastmsgtime = time(0);
process_request(mp, &response);
/* can block here, is this what I want? */
+ mp->ctl_addr.sa_family = htons(mp->ctl_addr.sa_family);
cc = sendto(sockt, (char *)&response,
sizeof (response), 0, (struct sockaddr *)&mp->ctl_addr,
sizeof (mp->ctl_addr));