diff options
Diffstat (limited to 'src/lib/libc/net/getnetnamadr.c')
-rw-r--r-- | src/lib/libc/net/getnetnamadr.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/lib/libc/net/getnetnamadr.c b/src/lib/libc/net/getnetnamadr.c index 0ebc77b656..f755cd9b14 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.13 1999/06/04 06:38:10 niklas Exp $ */ | 1 | /* $OpenBSD: getnetnamadr.c,v 1.14 2001/06/27 00:58:55 lebel 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"; | |||
77 | static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03"; | 77 | static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03"; |
78 | static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; | 78 | static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; |
79 | #else | 79 | #else |
80 | static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.13 1999/06/04 06:38:10 niklas Exp $"; | 80 | static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.14 2001/06/27 00:58:55 lebel Exp $"; |
81 | #endif | 81 | #endif |
82 | #endif /* LIBC_SCCS and not lint */ | 82 | #endif /* LIBC_SCCS and not lint */ |
83 | 83 | ||
@@ -184,8 +184,7 @@ getnetanswer(answer, anslen, net_i) | |||
184 | break; | 184 | break; |
185 | cp += n; | 185 | cp += n; |
186 | ans[0] = '\0'; | 186 | ans[0] = '\0'; |
187 | (void)strncpy(&ans[0], bp, sizeof ans-1); | 187 | strlcpy(&ans[0], bp, sizeof ans); |
188 | ans[sizeof ans-1] = '\0'; | ||
189 | GETSHORT(type, cp); | 188 | GETSHORT(type, cp); |
190 | GETSHORT(class, cp); | 189 | GETSHORT(class, cp); |
191 | cp += INT32SZ; /* TTL */ | 190 | cp += INT32SZ; /* TTL */ |
@@ -226,10 +225,9 @@ getnetanswer(answer, anslen, net_i) | |||
226 | ; | 225 | ; |
227 | if (nchar != 1 || *in != '0' || flag) { | 226 | if (nchar != 1 || *in != '0' || flag) { |
228 | flag = 1; | 227 | flag = 1; |
229 | (void)strncpy(paux1, | 228 | strlcpy(paux1, |
230 | (i==0) ? in : in-1, | 229 | (i==0) ? in : in-1, |
231 | (i==0) ?nchar : nchar+1); | 230 | (i==0) ? nchar+1 : nchar+2); |
232 | paux1[(i==0) ? nchar : nchar+1] = '\0'; | ||
233 | pauxt = paux2; | 231 | pauxt = paux2; |
234 | paux2 = strcat(paux1, paux2); | 232 | paux2 = strcat(paux1, paux2); |
235 | paux1 = pauxt; | 233 | paux1 = pauxt; |
@@ -358,8 +356,7 @@ getnetbyname(net) | |||
358 | break; | 356 | break; |
359 | #endif /* YP */ | 357 | #endif /* YP */ |
360 | case 'b': | 358 | case 'b': |
361 | strncpy(qbuf, net, sizeof qbuf-1); | 359 | strlcpy(qbuf, net, sizeof qbuf); |
362 | qbuf[sizeof qbuf-1] = '\0'; | ||
363 | anslen = res_search(qbuf, C_IN, T_PTR, (u_char *)&buf, | 360 | anslen = res_search(qbuf, C_IN, T_PTR, (u_char *)&buf, |
364 | sizeof(buf)); | 361 | sizeof(buf)); |
365 | if (anslen < 0) { | 362 | if (anslen < 0) { |