summaryrefslogtreecommitdiff
path: root/sbin/isakmpd/sa.c
diff options
context:
space:
mode:
authorRyan Thomas McBride <mcbride@cvs.openbsd.org>2006-05-29 07:02:11 +0000
committerRyan Thomas McBride <mcbride@cvs.openbsd.org>2006-05-29 07:02:11 +0000
commit96e7fade355a7917a326f58e67f6dea50d99577f (patch)
tree7e3c5bd120ca36db4a76ed0769b538b636b4ddd7 /sbin/isakmpd/sa.c
parent7b4215cd135ea51366fe544fdc971fdd6ca451f2 (diff)
Oops, return after calling sa_release()
Diffstat (limited to 'sbin/isakmpd/sa.c')
-rw-r--r--sbin/isakmpd/sa.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sbin/isakmpd/sa.c b/sbin/isakmpd/sa.c
index b66fe60438e..c283eedc069 100644
--- a/sbin/isakmpd/sa.c
+++ b/sbin/isakmpd/sa.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sa.c,v 1.104 2006/05/28 19:08:11 mcbride Exp $ */
+/* $OpenBSD: sa.c,v 1.105 2006/05/29 07:02:10 mcbride Exp $ */
/* $EOM: sa.c,v 1.112 2000/12/12 00:22:52 niklas Exp $ */
/*
@@ -1179,8 +1179,10 @@ sa_soft_finalize(struct exchange* exchange, void *v_sa, int fail)
struct sa *sa = v_sa;
if (sa->phase != 2 || !sa->death ||
- (sa->flags & SA_FLAG_REPLACED))
+ (sa->flags & SA_FLAG_REPLACED)) {
sa_release(sa);
+ return;
+ }
if (fail) {
char *peer = conf_get_str(sa->name, "ISAKMP-peer");