From bbdb142d2e688f0e9f885a6fdaa58ec7c0fac2da Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Sat, 17 May 2003 14:47:17 +0000
Subject: [PATCH] Always lock call in find_call

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index ec18409aad..df04adb396 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1359,7 +1359,10 @@ static struct sip_pvt *find_call(struct sip_request *req, struct sockaddr_in *si
 		p = p->next;
 	}
 	ast_pthread_mutex_unlock(&iflock);
-	return sip_alloc(callid, sin, 1);
+	p = sip_alloc(callid, sin, 1);
+	if (p)
+		ast_pthread_mutex_lock(&p->lock);
+	return p;
 }
 
 static int sip_register(char *value, int lineno)
-- 
GitLab