From d3e0d5d40b02d970f5ff38d69f47c05cd09e0a78 Mon Sep 17 00:00:00 2001 From: mkrokosz Date: Fri, 28 Oct 2016 14:30:02 -0400 Subject: [PATCH] res_pjsip_outbound_publish: Fix crash when publishing device state. While publishing device state between multiple instances of Asterisk, a crash will sporadically occur under high CPS which looks to be a race condition operating on the publisher queue. ASTERISK-26506 Change-Id: I28da25d346deb358eff1d563485cabc433ce1ed6 --- res/res_pjsip_outbound_publish.c | 1 + 1 file changed, 1 insertion(+) diff --git a/res/res_pjsip_outbound_publish.c b/res/res_pjsip_outbound_publish.c index 0aad5fcdb6..87680480c8 100644 --- a/res/res_pjsip_outbound_publish.c +++ b/res/res_pjsip_outbound_publish.c @@ -786,6 +786,7 @@ static int publisher_client_send(void *obj, void *arg, void *data, int flags) struct sip_outbound_publish_message *message; size_t type_len = 0, subtype_len = 0, body_text_len = 0; int *res = data; + SCOPED_AO2LOCK(lock, publisher); *res = -1; if (!publisher->client) {