From: mkrokosz Date: Fri, 28 Oct 2016 18:30:02 +0000 (-0400) Subject: res_pjsip_outbound_publish: Fix crash when publishing device state. X-Git-Tag: 14.2.0-rc1~54^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3e0d5d40b02d970f5ff38d69f47c05cd09e0a78;p=thirdparty%2Fasterisk.git 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 --- 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) {