aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorHajimu UMEMOTO <ume@FreeBSD.org>2001-07-08 18:06:03 +0000
committerHajimu UMEMOTO <ume@FreeBSD.org>2001-07-08 18:06:03 +0000
commit89349143ab793590f3571069c2e88136c09cd733 (patch)
tree665598df5020160e72832a651a7482365844d955 /sys/netinet6
parent2ce0498bd73ef4edd5ab7c1f1065ea788736eff2 (diff)
Notes
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/ip6_output.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c
index 9a6c61e0a217a..fbe882188e55a 100644
--- a/sys/netinet6/ip6_output.c
+++ b/sys/netinet6/ip6_output.c
@@ -1537,8 +1537,12 @@ do { \
case IPV6_PKTOPTIONS:
if (in6p->in6p_options) {
- error = soopt_mcopyout(sopt,
- in6p->in6p_options);
+ struct mbuf *m;
+ m = m_copym(in6p->in6p_options,
+ 0, M_COPYALL, M_WAIT);
+ error = soopt_mcopyout(sopt, m);
+ if (error == 0)
+ m_freem(m);
} else
sopt->sopt_valsize = 0;
break;