diff -urN strongswan-2.8.8/programs/pluto/ipsec_doi.c strongswan-2.8.8-patched/programs/pluto/ipsec_doi.c --- strongswan-2.8.8/programs/pluto/ipsec_doi.c 2007-09-02 18:23:54.000000000 +0200 +++ strongswan-2.8.8-patched/programs/pluto/ipsec_doi.c 2009-03-21 09:56:40.000000000 +0100 @@ -5519,9 +5519,9 @@ time_t tm = now(); u_int32_t seqno; - if (!IS_ISAKMP_SA_ESTABLISHED(st->st_state)) + if (!st || !IS_ISAKMP_SA_ESTABLISHED(st->st_state)) { - loglog(RC_LOG_SERIOUS, "DPD: Received R_U_THERE for unestablished ISKAMP SA"); + loglog(RC_LOG_SERIOUS, "DPD: Received R_U_THERE for unestablished ISAKMP SA"); return STF_IGNORE; } if (n->isan_spisize != COOKIE_SIZE * 2 || pbs_left(pbs) < COOKIE_SIZE * 2) @@ -5589,10 +5589,10 @@ { u_int32_t seqno; - if (!IS_ISAKMP_SA_ESTABLISHED(st->st_state)) + if (!st || !IS_ISAKMP_SA_ESTABLISHED(st->st_state)) { loglog(RC_LOG_SERIOUS - , "DPD: Received R_U_THERE_ACK for unestablished ISKAMP SA"); + , "DPD: Received R_U_THERE_ACK for unestablished ISAKMP SA"); return STF_FAIL; }