From 6b8fa52806b2a7bb443ccf9153b5328b741f68db Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 1 Jan 2023 13:24:47 +0100 Subject: pflocal: Fix unsafe increment of refs --- pflocal/sock.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'pflocal/sock.c') diff --git a/pflocal/sock.c b/pflocal/sock.c index 2acf5f4e..174494cd 100644 --- a/pflocal/sock.c +++ b/pflocal/sock.c @@ -356,7 +356,11 @@ addr_get_sock (struct addr *addr, struct sock **sock) pthread_mutex_lock (&addr->lock); *sock = addr->sock; if (*sock) - (*sock)->refs++; + { + pthread_mutex_lock (&(*sock)->lock); + (*sock)->refs++; + pthread_mutex_unlock (&(*sock)->lock); + } pthread_mutex_unlock (&addr->lock); return *sock ? 0 : EADDRNOTAVAIL; } -- cgit v1.2.3