summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpyr <>2009-06-05 09:52:26 +0000
committerpyr <>2009-06-05 09:52:26 +0000
commit8fa7f48f288fa685ee14a1f340f1eab743a66427 (patch)
tree86b626ebb11b317786085aad79af9c851023281f
parentace26c7dae9e1c27ead679e16734368664086136 (diff)
downloadopenbsd-8fa7f48f288fa685ee14a1f340f1eab743a66427.tar.gz
openbsd-8fa7f48f288fa685ee14a1f340f1eab743a66427.tar.bz2
openbsd-8fa7f48f288fa685ee14a1f340f1eab743a66427.zip
compare and shift buffer against a fixed length not strlen derived values.
ok otto@
-rw-r--r--src/lib/libc/net/res_init.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/libc/net/res_init.c b/src/lib/libc/net/res_init.c
index aafa9bbc87..18de3550e6 100644
--- a/src/lib/libc/net/res_init.c
+++ b/src/lib/libc/net/res_init.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: res_init.c,v 1.39 2009/06/04 21:38:29 pyr Exp $ */ 1/* $OpenBSD: res_init.c,v 1.40 2009/06/05 09:52:26 pyr Exp $ */
2 2
3/* 3/*
4 * ++Copyright++ 1985, 1989, 1993 4 * ++Copyright++ 1985, 1989, 1993
@@ -307,14 +307,14 @@ _res_init(int usercall)
307 cp[strcspn(cp, "\n")] = '\0'; 307 cp[strcspn(cp, "\n")] = '\0';
308 findex = 0; 308 findex = 0;
309 _resp->family[0] = _resp->family[1] = -1; 309 _resp->family[0] = _resp->family[1] = -1;
310#define INETLEN (sizeof("inetX") - 1)
310 while (*cp != '\0' && findex < 2) { 311 while (*cp != '\0' && findex < 2) {
311 if (!strncmp(cp, "inet6", strlen("inet6"))) { 312 if (!strncmp(cp, "inet6", INETLEN)) {
312 _resp->family[findex] = AF_INET6; 313 _resp->family[findex] = AF_INET6;
313 cp += strlen("inet6"); 314 cp += INETLEN;
314 } else if (!strncmp(cp, "inet4", 315 } else if (!strncmp(cp, "inet4", INETLEN)) {
315 strlen("inet4"))) {
316 _resp->family[findex] = AF_INET; 316 _resp->family[findex] = AF_INET;
317 cp += strlen("inet4"); 317 cp += INETLEN;
318 } else { 318 } else {
319 _resp->family[0] = -1; 319 _resp->family[0] = -1;
320 break; 320 break;