diff options
author | pst <pst@FreeBSD.org> | 1997-01-18 08:30:01 +0000 |
---|---|---|
committer | pst <pst@FreeBSD.org> | 1997-01-18 08:30:01 +0000 |
commit | 729071c96e1b26cb702a76ce25556ca58d253815 (patch) | |
tree | 14d2380818cc302922727509c87a7319f8fd6fa9 /libexec/talkd/talkd.c | |
parent | 6343eb8b06179a898d3726250383f26d8b8d89f6 (diff) | |
download | FreeBSD-src-729071c96e1b26cb702a76ce25556ca58d253815.zip FreeBSD-src-729071c96e1b26cb702a76ce25556ca58d253815.tar.gz |
Fix buffer overrun problem.
Cannidate for: 2.2 [must]
Obtained from: Lite/2 and BSDI's published patch
Diffstat (limited to 'libexec/talkd/talkd.c')
-rw-r--r-- | libexec/talkd/talkd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libexec/talkd/talkd.c b/libexec/talkd/talkd.c index d2d5a2c..c049230 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)); |