summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
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 9a6c61e..fbe8821 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;
OpenPOWER on IntegriCloud