]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/glibc/glibc-rh1138769.patch
Merge branch 'bird' into next
[ipfire-2.x.git] / src / patches / glibc / glibc-rh1138769.patch
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