diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/check_pf.c | 8 |
3 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index f5b5599486..72e9cf9e28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2014-07-10 Siddhesh Poyarekar <siddhesh@redhat.com> + [BZ #17125] + * sysdeps/unix/sysv/linux/check_pf.c (cache): Don't use + libc_freeres_ptr. + (freecache): New function to free CACHE on exit. + * sunrpc/xdr.c (xdr_string): Add comment about SIZE initialization. diff --git a/NEWS b/NEWS index f4c501ca56..3ef9162fbb 100644 --- a/NEWS +++ b/NEWS @@ -21,7 +21,7 @@ Version 2.20 16882, 16885, 16888, 16890, 16912, 16915, 16916, 16917, 16918, 16922, 16927, 16928, 16932, 16943, 16958, 16965, 16966, 16967, 16977, 16978, 16984, 16990, 16996, 17009, 17022, 17031, 17042, 17048, 17050, 17058, - 17061, 17062, 17069, 17075, 17079, 17084, 17086, 17092, 17097. + 17061, 17062, 17069, 17075, 17079, 17084, 17086, 17092, 17097, 17125. * Optimized strchr implementation for AArch64. Contributed by ARM Ltd. diff --git a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c index 1bc1def72f..c7fd9b0376 100644 --- a/sysdeps/unix/sysv/linux/check_pf.c +++ b/sysdeps/unix/sysv/linux/check_pf.c @@ -61,7 +61,7 @@ static struct cached_data noai6ai_cached = .in6ailen = 0 }; -libc_freeres_ptr (static struct cached_data *cache); +static struct cached_data *cache; __libc_lock_define_initialized (static, lock); @@ -401,6 +401,12 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6, *seen_ipv6 = true; } +/* Free the cache if it has been allocated. */ +libc_freeres_fn (freecache) +{ + if (cache) + __free_in6ai (cache->in6ai); +} void __free_in6ai (struct in6addrinfo *ai) |