From: Martin Willi Date: Tue, 19 Mar 2013 10:20:35 +0000 (+0100) Subject: In stroke counters, check if we have an IKE_SA before getting the name from it X-Git-Tag: 5.0.3rc1~48 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=41131528a94569fe0281eff9b1be4120b7cc31f4;p=thirdparty%2Fstrongswan.git In stroke counters, check if we have an IKE_SA before getting the name from it Fixes a segfault when receiving an invalid IKE SPI, where we don't have an IKE_SA for the raised alert. --- diff --git a/src/libcharon/plugins/stroke/stroke_counter.c b/src/libcharon/plugins/stroke/stroke_counter.c index ff4746bf41..747d51d02b 100644 --- a/src/libcharon/plugins/stroke/stroke_counter.c +++ b/src/libcharon/plugins/stroke/stroke_counter.c @@ -113,10 +113,13 @@ static char *get_ike_sa_name(ike_sa_t *ike_sa) { peer_cfg_t *peer_cfg; - peer_cfg = ike_sa->get_peer_cfg(ike_sa); - if (peer_cfg) + if (ike_sa) { - return peer_cfg->get_name(peer_cfg); + peer_cfg = ike_sa->get_peer_cfg(ike_sa); + if (peer_cfg) + { + return peer_cfg->get_name(peer_cfg); + } } return NULL; }