mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Fix resource leak in resolver (bug 19257)
The number of currently defined nameservers is stored in ->nscount, whereas ->_u._ext.nscount is set by __libc_res_nsend only after local initializations.
This commit is contained in:
parent
2beb1010e4
commit
5e7fdabd7d
@ -1,3 +1,9 @@
|
|||||||
|
2016-03-15 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
[BZ #19257]
|
||||||
|
* resolv/res_init.c (__res_iclose): Use statp->nscount instead of
|
||||||
|
statp->_u._ext.nscount as loop count.
|
||||||
|
|
||||||
2016-03-14 Andreas Schwab <schwab@linux-m68k.org>
|
2016-03-14 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
|
||||||
* math/test-signgam-finite-c99.c: Also #undef
|
* math/test-signgam-finite-c99.c: Also #undef
|
||||||
|
@ -580,7 +580,7 @@ __res_iclose(res_state statp, bool free_addr) {
|
|||||||
statp->_vcsock = -1;
|
statp->_vcsock = -1;
|
||||||
statp->_flags &= ~(RES_F_VC | RES_F_CONN);
|
statp->_flags &= ~(RES_F_VC | RES_F_CONN);
|
||||||
}
|
}
|
||||||
for (ns = 0; ns < statp->_u._ext.nscount; ns++)
|
for (ns = 0; ns < statp->nscount; ns++)
|
||||||
if (statp->_u._ext.nsaddrs[ns]) {
|
if (statp->_u._ext.nsaddrs[ns]) {
|
||||||
if (statp->_u._ext.nssocks[ns] != -1) {
|
if (statp->_u._ext.nssocks[ns] != -1) {
|
||||||
close_not_cancel_no_status(statp->_u._ext.nssocks[ns]);
|
close_not_cancel_no_status(statp->_u._ext.nssocks[ns]);
|
||||||
|
Loading…
Reference in New Issue
Block a user