diff options
Diffstat (limited to '')
| -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) { |
