summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2004-01-20 22:45:10 +0000
committerSam Leffler <sam@FreeBSD.org>2004-01-20 22:45:10 +0000
commitb5b47bc6fa9ba9794afd130c91a556a3569166c7 (patch)
treeac4a2f5f2c5d428bf034a6c176f3ea1f11bff957
parentc58cde95d1c86956fc3cd0f8299f463c3a36f527 (diff)
Notes
-rw-r--r--sys/netipsec/ipsec_output.c5
-rw-r--r--sys/netipsec/xform_ipip.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c
index 8f8c70545404..c90524b5c2cc 100644
--- a/sys/netipsec/ipsec_output.c
+++ b/sys/netipsec/ipsec_output.c
@@ -426,8 +426,11 @@ ipsec4_process_packet(
error = EFAULT;
}
if (error) {
- if (mp)
+ if (mp) {
+ /* XXX: Should never happen! */
m_freem(mp);
+ }
+ m = NULL; /* ipip_output() already freed it */
goto bad;
}
m = mp, mp = NULL;
diff --git a/sys/netipsec/xform_ipip.c b/sys/netipsec/xform_ipip.c
index a8453227b67b..0f881a1e337c 100644
--- a/sys/netipsec/xform_ipip.c
+++ b/sys/netipsec/xform_ipip.c
@@ -526,7 +526,6 @@ ipip_output(
if (m == 0) {
DPRINTF(("%s: M_PREPEND failed\n", __func__));
ipipstat.ipips_hdrops++;
- *mp = NULL;
error = ENOBUFS;
goto bad;
}
@@ -610,7 +609,8 @@ nofamily:
return 0;
bad:
if (m)
- m_freem(m), *mp = NULL;
+ m_freem(m);
+ *mp = NULL;
return (error);
}