diff options
Diffstat (limited to 'resolv')
-rw-r--r-- | resolv/gai_misc.c | 5 | ||||
-rw-r--r-- | resolv/ns_print.c | 4 | ||||
-rw-r--r-- | resolv/nsap_addr.c | 2 | ||||
-rw-r--r-- | resolv/res_hconf.c | 13 |
4 files changed, 7 insertions, 17 deletions
diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c index b89abf984a..b3334f38ef 100644 --- a/resolv/gai_misc.c +++ b/resolv/gai_misc.c @@ -410,9 +410,7 @@ handle_requests (void *arg) /* Free allocated resources. */ -static void -__attribute__ ((unused)) -free_res (void) +libc_freeres_fn (free_res) { size_t row; @@ -421,4 +419,3 @@ free_res (void) free (pool); } -text_set_element (__libc_subfreeres, free_res); diff --git a/resolv/ns_print.c b/resolv/ns_print.c index 7a2ef70efc..12b2e67ea6 100644 --- a/resolv/ns_print.c +++ b/resolv/ns_print.c @@ -309,7 +309,9 @@ ns_sprintrrf(const u_char *msg, size_t msglen, break; case ns_t_nsap: { - char t[255*3]; + /* 2*255 for hex digits, 128 for '.' and '\0', 2 for + 0x if inet_nsap_ntoa starts using it. */ + char t[255*2 + 128 + 2]; (void) inet_nsap_ntoa(rdlen, rdata, t); T(addstr(t, strlen(t), &buf, &buflen)); diff --git a/resolv/nsap_addr.c b/resolv/nsap_addr.c index b3f2f77caf..7041e5282e 100644 --- a/resolv/nsap_addr.c +++ b/resolv/nsap_addr.c @@ -70,7 +70,7 @@ char * inet_nsap_ntoa(int binlen, const u_char *binary, char *ascii) { int nib; int i; - static char tmpbuf[255*3]; + static char tmpbuf[255*2 + 128]; char *start; if (ascii) diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c index 132dda7599..40afeb0b94 100644 --- a/resolv/res_hconf.c +++ b/resolv/res_hconf.c @@ -489,6 +489,7 @@ _res_hconf_init (void) /* List of known interfaces. */ +libc_freeres_ptr ( static struct netaddr { int addrtype; @@ -500,7 +501,7 @@ static struct netaddr u_int32_t mask; } ipv4; } u; -} *ifaddrs; +} *ifaddrs); /* We need to protect the dynamic buffer handling. */ __libc_lock_define_initialized (static, lock); @@ -657,13 +658,3 @@ _res_hconf_trim_domains (struct hostent *hp) for (i = 0; hp->h_aliases[i]; ++i) _res_hconf_trim_domain (hp->h_aliases[i]); } - - -/* Free all resources if necessary. */ -static void __attribute__ ((unused)) -free_mem (void) -{ - free (ifaddrs); -} - -text_set_element (__libc_subfreeres, free_mem); |