summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2000-11-19 10:08:26 +0000
committerkris <kris@FreeBSD.org>2000-11-19 10:08:26 +0000
commit1a1517afe4976245f010151c770a4abb32976ceb (patch)
tree5bd89431ebab2ee646b5e87f2640c954a2dfb7dd
parentb9600b6040035f681b83eda8979335c946311ee1 (diff)
downloadFreeBSD-src-1a1517afe4976245f010151c770a4abb32976ceb.zip
FreeBSD-src-1a1517afe4976245f010151c770a4abb32976ceb.tar.gz
Fix a buffer overflow from a long local hostname.
Obtained from: OpenBSD
-rw-r--r--contrib/telnet/telnet/commands.c4
-rw-r--r--crypto/telnet/telnet/commands.c4
-rw-r--r--usr.bin/telnet/commands.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/contrib/telnet/telnet/commands.c b/contrib/telnet/telnet/commands.c
index 282695c..2c7beca 100644
--- a/contrib/telnet/telnet/commands.c
+++ b/contrib/telnet/telnet/commands.c
@@ -2900,12 +2900,12 @@ cmdrc(m1, m2)
int gotmachine = 0;
int l1 = strlen(m1);
int l2 = strlen(m2);
- char m1save[64];
+ char m1save[MAXHOSTNAMELEN];
if (skiprc)
return;
- strcpy(m1save, m1);
+ strlcpy(m1save, m1, sizeof(m1save));
m1 = m1save;
if (rcname == 0) {
diff --git a/crypto/telnet/telnet/commands.c b/crypto/telnet/telnet/commands.c
index 282695c..2c7beca 100644
--- a/crypto/telnet/telnet/commands.c
+++ b/crypto/telnet/telnet/commands.c
@@ -2900,12 +2900,12 @@ cmdrc(m1, m2)
int gotmachine = 0;
int l1 = strlen(m1);
int l2 = strlen(m2);
- char m1save[64];
+ char m1save[MAXHOSTNAMELEN];
if (skiprc)
return;
- strcpy(m1save, m1);
+ strlcpy(m1save, m1, sizeof(m1save));
m1 = m1save;
if (rcname == 0) {
diff --git a/usr.bin/telnet/commands.c b/usr.bin/telnet/commands.c
index 1ab5e54..c6b35e2 100644
--- a/usr.bin/telnet/commands.c
+++ b/usr.bin/telnet/commands.c
@@ -2721,12 +2721,12 @@ cmdrc(m1, m2)
int gotmachine = 0;
int l1 = strlen(m1);
int l2 = strlen(m2);
- char m1save[64];
+ char m1save[MAXHOSTNAMELEN];
if (skiprc)
return;
- strcpy(m1save, m1);
+ strlcpy(m1save, m1, sizeof(m1save));
m1 = m1save;
if (rcname == 0) {
OpenPOWER on IntegriCloud