Module Name: src Committed By: tteras Date: Sat Jan 22 07:38:52 UTC 2011
Modified Files: src/crypto/dist/ipsec-tools/src/racoon: isakmp_inf.c Log Message: >From Roman Hoog Antink <r...@open.ch>: Fixes a null pointer dereference that might occur after removing peers from the config and then reloading. To generate a diff of this commit: cvs rdiff -u -r1.44 -r1.45 \ src/crypto/dist/ipsec-tools/src/racoon/isakmp_inf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/crypto/dist/ipsec-tools/src/racoon/isakmp_inf.c diff -u src/crypto/dist/ipsec-tools/src/racoon/isakmp_inf.c:1.44 src/crypto/dist/ipsec-tools/src/racoon/isakmp_inf.c:1.45 --- src/crypto/dist/ipsec-tools/src/racoon/isakmp_inf.c:1.44 Wed Nov 17 10:40:41 2010 +++ src/crypto/dist/ipsec-tools/src/racoon/isakmp_inf.c Sat Jan 22 07:38:51 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: isakmp_inf.c,v 1.44 2010/11/17 10:40:41 tteras Exp $ */ +/* $NetBSD: isakmp_inf.c,v 1.45 2011/01/22 07:38:51 tteras Exp $ */ /* Id: isakmp_inf.c,v 1.44 2006/05/06 20:45:52 manubsd Exp */ @@ -1502,6 +1502,15 @@ plog(LLV_DEBUG, LOCATION, iph1->remote, "DPD monitoring....\n"); + if (iph1->status == PHASE1ST_EXPIRED) { + /* This can happen after removing tunnels from the + * config file and then reloading. + * Such iph1 have rmconf=NULL, so return before the if + * block below. + */ + return; + } + if (iph1->dpd_fails >= iph1->rmconf->dpd_maxfails) { plog(LLV_INFO, LOCATION, iph1->remote,