DragonFlyBSD Kernel Audit
DF-0680 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/netbt/rfcomm_socket.c b/sys/netbt/rfcomm_socket.c
--- a/sys/netbt/rfcomm_socket.c
+++ b/sys/netbt/rfcomm_socket.c
@@ -122,8 +122,10 @@
 			m_freem(m);
 			m = NULL;
 			error = ENOPROTOOPT;
+			break;
 		}
 		soopt_from_kbuf(sopt, mtod(m, void *), m->m_len);
+		m_freem(m);
 		break;
 
 	case PRCO_SETOPT: