From: Martin Willi Date: Thu, 1 May 2014 08:26:49 +0000 (+0200) Subject: vici: Properly skip raise_event() for unknown event names X-Git-Tag: 5.2.0dr3~9^2~12 X-Git-Url: https://git.strongswan.org/?p=strongswan.git;a=commitdiff_plain;h=65cc8f55813a008d587a4d9210aa48c27616673b;ds=sidebyside vici: Properly skip raise_event() for unknown event names --- diff --git a/src/libcharon/plugins/vici/vici_dispatcher.c b/src/libcharon/plugins/vici/vici_dispatcher.c index 4fd8028..0df867a 100644 --- a/src/libcharon/plugins/vici/vici_dispatcher.c +++ b/src/libcharon/plugins/vici/vici_dispatcher.c @@ -437,23 +437,23 @@ METHOD(vici_dispatcher_t, raise_event, void, if (event) { event->uses++; - } - this->mutex->unlock(this->mutex); + this->mutex->unlock(this->mutex); - enumerator = array_create_enumerator(event->clients); - while (enumerator->enumerate(enumerator, ¤t)) - { - if (id == 0 || id == *current) + enumerator = array_create_enumerator(event->clients); + while (enumerator->enumerate(enumerator, ¤t)) { - send_op(this, *current, VICI_EVENT, name, message); + if (id == 0 || id == *current) + { + send_op(this, *current, VICI_EVENT, name, message); + } } - } - enumerator->destroy(enumerator); + enumerator->destroy(enumerator); - this->mutex->lock(this->mutex); - if (--event->uses == 0) - { - this->cond->broadcast(this->cond); + this->mutex->lock(this->mutex); + if (--event->uses == 0) + { + this->cond->broadcast(this->cond); + } } this->mutex->unlock(this->mutex);