From 7dddb55155279338957831e7122d5d266acde0f6 Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Sun, 16 Mar 2008 06:03:39 +0100 Subject: [PATCH] Fixed sleeping SEGV. --- daemon/net.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/daemon/net.c b/daemon/net.c index 242f10e..fa84564 100644 --- a/daemon/net.c +++ b/daemon/net.c @@ -365,13 +365,16 @@ static void freesock(struct socket *sk) void putsock(struct socket *sk) { + struct socket *back; + if(--(sk->refcount) < 0) { flog(LOG_CRIT, "BUG: socket refcount < 0"); abort(); } if((sk->refcount == 0) && (sk->back->refcount == 0)) { + back = sk->back; freesock(sk); - freesock(sk->back); + freesock(back); } } -- 2.11.0