DragonFlyBSD Kernel Audit
DF-0311 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c
--- a/sys/netinet6/ip6_output.c
+++ b/sys/netinet6/ip6_output.c
@@ -1496,7 +1496,8 @@
 				m->m_len = sopt->sopt_valsize;
 				error = soopt_to_kbuf(sopt, mtod(m, char *),
 						    m->m_len, m->m_len);
-				error =	ip6_setmoptions(sopt->sopt_name,
+				if (error == 0)
+			error =	ip6_setmoptions(sopt->sopt_name,
 							&in6p->in6p_moptions,
 							m);
 				m_free(m);