- Revert recent changes to res_send (804630, 835090).
- Fix memcpy args in res_send (#841787).
This commit is contained in:
parent
c567b667ba
commit
e7456d7df4
@ -1,23 +0,0 @@
|
||||
diff -rup c/resolv/res_send.c d/resolv/res_send.c
|
||||
--- c/resolv/res_send.c 2012-01-01 05:16:32.000000000 -0700
|
||||
+++ d/resolv/res_send.c 2012-03-30 12:39:30.862467628 -0600
|
||||
@@ -409,6 +409,7 @@ __libc_res_nsend(res_state statp, const
|
||||
*/
|
||||
if (EXT(statp).nsinit == 0) {
|
||||
unsigned char map[MAXNS];
|
||||
+ unsigned int ext_total_nscount;
|
||||
|
||||
memset (map, MAXNS, sizeof (map));
|
||||
for (n = 0; n < MAXNS; n++) {
|
||||
@@ -422,8 +423,9 @@ __libc_res_nsend(res_state statp, const
|
||||
}
|
||||
}
|
||||
n = statp->nscount;
|
||||
- if (statp->nscount > EXT(statp).nscount)
|
||||
- for (n = EXT(statp).nscount, ns = 0;
|
||||
+ ext_total_nscount = EXT(statp).nscount + EXT(statp).nscount6;
|
||||
+ if (statp->nscount > ext_total_nscount)
|
||||
+ for (n = ext_total_nscount, ns = 0;
|
||||
n < statp->nscount; n++) {
|
||||
while (ns < MAXNS
|
||||
&& EXT(statp).nsmap[ns] != MAXNS)
|
12
glibc-rh841787.patch
Normal file
12
glibc-rh841787.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -rup a/resolv/res_send.c b/resolv/res_send.c
|
||||
--- a/resolv/res_send.c 2010-05-04 05:27:23.000000000 -0600
|
||||
+++ b/resolv/res_send.c 2012-03-01 12:11:13.065605342 -0700
|
||||
@@ -441,7 +441,7 @@ __libc_res_nsend(res_state statp, const
|
||||
malloc(sizeof (struct sockaddr_in6));
|
||||
if (EXT(statp).nsaddrs[n] != NULL) {
|
||||
memset (mempcpy(EXT(statp).nsaddrs[n],
|
||||
- &statp->nsaddr_list[n],
|
||||
+ &statp->nsaddr_list[ns],
|
||||
sizeof (struct sockaddr_in)),
|
||||
'\0',
|
||||
sizeof (struct sockaddr_in6)
|
Loading…
Reference in New Issue
Block a user