]>
Commit | Line | Data |
---|---|---|
bb330e25 AF |
1 | commit e35c53e397e7abbd41fedacdedcfa5af7b5c2c52 |
2 | Author: Siddhesh Poyarekar <siddhesh@redhat.com> | |
3 | Date: Tue Jul 8 16:40:24 2014 +0530 | |
4 | ||
5 | Check value at resplen2 if it is not NULL | |
6 | ||
7 | There was a typo in the previous patch due to which resplen2 was | |
8 | checked for non-zero instead of the value at resplen2. Fix that and | |
9 | improve the condition by checking resplen2 for non-NULL (instead of | |
10 | answerp2) and also adding the check in a third place. | |
11 | ||
12 | diff --git a/resolv/res_query.c b/resolv/res_query.c | |
13 | index 4e6612c..e4ee2a6 100644 | |
14 | --- a/resolv/res_query.c | |
15 | +++ b/resolv/res_query.c | |
16 | @@ -384,7 +384,7 @@ __libc_res_nsearch(res_state statp, | |
17 | answerp2, nanswerp2, resplen2); | |
18 | if (ret > 0 || trailing_dot | |
19 | /* If the second response is valid then we use that. */ | |
20 | - || (ret == 0 && answerp2 != NULL && resplen2 > 0)) | |
21 | + || (ret == 0 && resplen2 != NULL && *resplen2 > 0)) | |
22 | return (ret); | |
23 | saved_herrno = h_errno; | |
24 | tried_as_is++; | |
25 | @@ -424,8 +424,8 @@ __libc_res_nsearch(res_state statp, | |
26 | answer, anslen, answerp, | |
27 | answerp2, nanswerp2, | |
28 | resplen2); | |
29 | - if (ret > 0 || (ret == 0 && answerp2 != NULL | |
30 | - && resplen2 > 0)) | |
31 | + if (ret > 0 || (ret == 0 && resplen2 != NULL | |
32 | + && *resplen2 > 0)) | |
33 | return (ret); | |
34 | ||
35 | if (answerp && *answerp != answer) { | |
36 | @@ -494,7 +494,8 @@ __libc_res_nsearch(res_state statp, | |
37 | ret = __libc_res_nquerydomain(statp, name, NULL, class, type, | |
38 | answer, anslen, answerp, | |
39 | answerp2, nanswerp2, resplen2); | |
40 | - if (ret > 0) | |
41 | + if (ret > 0 || (ret == 0 && resplen2 != NULL | |
42 | + && *resplen2 > 0)) | |
43 | return (ret); | |
44 | } | |
45 |