summaryrefslogtreecommitdiff
path: root/sys/net
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2016-03-22 23:53:02 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2016-03-22 23:53:02 +0000
commitb8accf070576c9f7b663ace10501fc6901c421fd (patch)
treeef731d526451b91e0fa5f9991d7e867a89cbba58 /sys/net
parent424e8193dcf1d820e01f18b44e49dd9ec567d8f8 (diff)
dont leak an mbuf when copying the packet in pipex_mppe_output fails
ok yasuoka@
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/pipex.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/pipex.c b/sys/net/pipex.c
index 13de69bfe55..e658dc5121d 100644
--- a/sys/net/pipex.c
+++ b/sys/net/pipex.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pipex.c,v 1.86 2016/03/22 23:51:01 dlg Exp $ */
+/* $OpenBSD: pipex.c,v 1.87 2016/03/22 23:53:01 dlg Exp $ */
/*-
* Copyright (c) 2009 Internet Initiative Japan Inc.
@@ -2569,9 +2569,9 @@ pipex_mppe_output(struct mbuf *m0, struct pipex_session *session,
for (m = m0; m != NULL; m = m->m_next) {
if (M_READONLY(m)) {
m = m_dup_pkt(m0, max_linkhdr, M_NOWAIT);
+ m_freem(m0);
if (m == NULL)
goto drop;
- m_freem(m0);
m0 = m;
break;
}