summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorderaadt <>1997-12-01 23:40:01 +0000
committerderaadt <>1997-12-01 23:40:01 +0000
commit4f497146cc231d5c855ea8a3fcf2a16713b6f5ee (patch)
tree73f8a007362f000b436a09b127876129e11814fb /src
parent3c64f645b17989fd19232dea89344af4275c4e3c (diff)
downloadopenbsd-4f497146cc231d5c855ea8a3fcf2a16713b6f5ee.tar.gz
openbsd-4f497146cc231d5c855ea8a3fcf2a16713b6f5ee.tar.bz2
openbsd-4f497146cc231d5c855ea8a3fcf2a16713b6f5ee.zip
buf oflow; bitblt
Diffstat (limited to 'src')
-rw-r--r--src/lib/libc/net/getnetnamadr.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/libc/net/getnetnamadr.c b/src/lib/libc/net/getnetnamadr.c
index a562d4bf4a..41a1505013 100644
--- a/src/lib/libc/net/getnetnamadr.c
+++ b/src/lib/libc/net/getnetnamadr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: getnetnamadr.c,v 1.8 1997/08/04 10:34:48 deraadt Exp $ */ 1/* $OpenBSD: getnetnamadr.c,v 1.9 1997/12/01 23:40:01 deraadt Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1997, Jason Downs. All rights reserved. 4 * Copyright (c) 1997, Jason Downs. All rights reserved.
@@ -77,7 +77,7 @@ static char sccsid[] = "@(#)getnetbyaddr.c 8.1 (Berkeley) 6/4/93";
77static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03"; 77static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03";
78static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; 78static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $";
79#else 79#else
80static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.8 1997/08/04 10:34:48 deraadt Exp $"; 80static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.9 1997/12/01 23:40:01 deraadt Exp $";
81#endif 81#endif
82#endif /* LIBC_SCCS and not lint */ 82#endif /* LIBC_SCCS and not lint */
83 83
@@ -134,8 +134,9 @@ getnetanswer(answer, anslen, net_i)
134 register int n; 134 register int n;
135 u_char *eom; 135 u_char *eom;
136 int type, class, buflen, ancount, qdcount, haveanswer, i, nchar; 136 int type, class, buflen, ancount, qdcount, haveanswer, i, nchar;
137 char aux1[30], aux2[30], ans[30], *in, *st, *pauxt, *bp, **ap, 137 char aux1[MAXHOSTNAMELEN], aux2[MAXHOSTNAMELEN, ans[MAXHOSTNAMELEN];
138 *paux1 = &aux1[0], *paux2 = &aux2[0], flag = 0; 138 char *in, *st, *pauxt, *bp, **ap;
139 char *paux1 = &aux1[0], *paux2 = &aux2[0], flag = 0;
139 static struct netent net_entry; 140 static struct netent net_entry;
140 static char *net_aliases[MAXALIASES], netbuf[BUFSIZ+1]; 141 static char *net_aliases[MAXALIASES], netbuf[BUFSIZ+1];
141 142
@@ -183,7 +184,8 @@ getnetanswer(answer, anslen, net_i)
183 break; 184 break;
184 cp += n; 185 cp += n;
185 ans[0] = '\0'; 186 ans[0] = '\0';
186 (void)strcpy(&ans[0], bp); 187 (void)strncpy(&ans[0], bp, sizeof ans-1);
188 ans[sizeof ans-1] = '\0';
187 GETSHORT(type, cp); 189 GETSHORT(type, cp);
188 GETSHORT(class, cp); 190 GETSHORT(class, cp);
189 cp += INT32SZ; /* TTL */ 191 cp += INT32SZ; /* TTL */