summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jarno <aurel32@debian.org>2016-03-18 14:59:38 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.com>2016-03-18 15:24:27 -0300
commit836de16a0f8461ce508c53fe705303e0b7d02c86 (patch)
tree0e8de5f68072b657678dc8a923757dc6776b8844
parentd0a26f12a890caaa1e0cb268c5ac21351d8c7c72 (diff)
Check value at resplen2 if it is not NULL
-rw-r--r--libc/resolv/res_query.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libc/resolv/res_query.c b/libc/resolv/res_query.c
index 1325f9772..395556b5c 100644
--- a/libc/resolv/res_query.c
+++ b/libc/resolv/res_query.c
@@ -378,7 +378,7 @@ __libc_res_nsearch(res_state statp,
ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
answer, anslen, answerp,
answerp2, nanswerp2, resplen2);
- if (ret > 0 || trailing_dot)
+ if (ret > 0 || (ret == 0 && *resplen2 > 0) || trailing_dot)
return (ret);
saved_herrno = h_errno;
tried_as_is++;
@@ -418,7 +418,7 @@ __libc_res_nsearch(res_state statp,
answer, anslen, answerp,
answerp2, nanswerp2,
resplen2);
- if (ret > 0)
+ if ((ret > 0) || (ret == 0 && *resplen2 > 0))
return (ret);
if (answerp && *answerp != answer) {
@@ -487,7 +487,7 @@ __libc_res_nsearch(res_state statp,
ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
answer, anslen, answerp,
answerp2, nanswerp2, resplen2);
- if (ret > 0)
+ if ((ret > 0) || (ret == 0 && *resplen2 > 0))
return (ret);
}