mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
* resolv/res_init.c (__res_iclose): New function. Broken out of
res_nclose. Take addition parameter which determines whether addresses should be freed. (res_nclose): Call __res_iclose. (res_thread_freeres): Likewise. * resolv/res_data.c (res_close): Call __res_iclose. * resolv/res_libc.c (res_init): No need to separately free the addresses. (__res_maybe_init): Likewise. * resolv/res_send.c: Use __res_iclose instead of res_nclose. * resolv/Versions [GLIBC_PRIVATE]: Add __res_iclose. * include/resolv.h: Declare __res_iclose. Add libc_hidden_proto for __res_iclose. * hesiod/hesiod.c (__hesiod_res_set): No need to free name server addresses here again.
This commit is contained in:
@@ -487,12 +487,6 @@ __hesiod_res_set(void *context, struct __res_state *res,
|
||||
|
||||
if (ctx->res && ctx->free_res) {
|
||||
res_nclose(ctx->res);
|
||||
if ((ctx->res->options & RES_INIT) && ctx->res->nscount > 0) {
|
||||
for (int ns = 0; ns < MAXNS; ns++) {
|
||||
free (ctx->res->_u._ext.nsaddrs[ns]);
|
||||
ctx->res->_u._ext.nsaddrs[ns] = NULL;
|
||||
}
|
||||
}
|
||||
(*ctx->free_res)(ctx->res);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user