From 41131528a94569fe0281eff9b1be4120b7cc31f4 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 19 Mar 2013 11:20:35 +0100 Subject: [PATCH] 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. --- src/libcharon/plugins/stroke/stroke_counter.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libcharon/plugins/stroke/stroke_counter.c b/src/libcharon/plugins/stroke/stroke_counter.c index ff4746bf4..747d51d02 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; }