diff options
Diffstat (limited to 'resolv/res_query.c')
-rw-r--r-- | resolv/res_query.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/resolv/res_query.c b/resolv/res_query.c index 4e6612c283..e4ee2a6005 100644 --- a/resolv/res_query.c +++ b/resolv/res_query.c @@ -384,7 +384,7 @@ __libc_res_nsearch(res_state statp, answerp2_malloced); if (ret > 0 || trailing_dot /* If the second response is valid then we use that. */ - || (ret == 0 && answerp2 != NULL && resplen2 > 0)) + || (ret == 0 && resplen2 != NULL && *resplen2 > 0)) return (ret); saved_herrno = h_errno; tried_as_is++; @@ -424,8 +424,8 @@ __libc_res_nsearch(res_state statp, answer, anslen, answerp, answerp2, nanswerp2, resplen2, answerp2_malloced); - if (ret > 0 || (ret == 0 && answerp2 != NULL - && resplen2 > 0)) + if (ret > 0 || (ret == 0 && resplen2 != NULL + && *resplen2 > 0)) return (ret); if (answerp && *answerp != answer) { @@ -494,7 +494,8 @@ __libc_res_nsearch(res_state statp, answer, anslen, answerp, answerp2, nanswerp2, resplen2, answerp2_malloced); - if (ret > 0) + if (ret > 0 || (ret == 0 && resplen2 != NULL + && *resplen2 > 0)) return (ret); } |