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
This commit is contained in:
mkrokosz
2016-10-28 14:30:02 -04:00
parent 0ec5abe592
commit 9d8b9b6ca5

View File

@@ -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) {