aboutsummaryrefslogtreecommitdiff
path: root/resolv
diff options
context:
space:
mode:
Diffstat (limited to 'resolv')
-rw-r--r--resolv/gai_misc.c5
-rw-r--r--resolv/ns_print.c4
-rw-r--r--resolv/nsap_addr.c2
-rw-r--r--resolv/res_hconf.c13
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);