From 09f93bd3d6b1c41370432e6b7a3c88d0fc482881 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 15 Nov 2011 10:32:18 +0100 Subject: Fix reference counting in network interface information cache --- sysdeps/unix/sysv/linux/check_pf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sysdeps/unix') diff --git a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c index 1f66684e4f..895dc2a285 100644 --- a/sysdeps/unix/sysv/linux/check_pf.c +++ b/sysdeps/unix/sysv/linux/check_pf.c @@ -58,7 +58,7 @@ struct cached_data static struct cached_data noai6ai_cached = { - .usecnt = 3, /* Make sure we never try to delete this entry. */ + .usecnt = 1, /* Make sure we never try to delete this entry. */ .in6ailen = 0 }; @@ -273,6 +273,7 @@ make_request (int fd, pid_t pid) } else { + atomic_add(&noai6ai_cached.usecnt, 2); noai6ai_cached.seen_ipv4 = seen_ipv4; noai6ai_cached.seen_ipv6 = seen_ipv6; result = &noai6ai_cached; -- cgit 1.4.1