⬢ DragonFlyBSD Kernel Audit
DF-3511 / fix.diff
← back to finding ↓ download raw
--- a/sys/netgraph7/socket/ng_socket.c
+++ b/sys/netgraph7/socket/ng_socket.c
@@ -282,8 +282,9 @@ ngc_send(netmsg_t netmsg)
 			linker_file_t fileid;
 
 			if (!linker_api_available()) {
+				kfree(msg, M_NETGRAPH_MSG);
 				error = ENXIO;
-				goto done;
+				goto release;
 			}
 
 			/* Not found, try to load it as a loadable module. */
@@ -348,7 +349,6 @@ release:
 	if (m != NULL)
 		m_freem(m);
-done:
 	if (error != EINPROGRESS)
 		lwkt_replymsg(&netmsg->send.base.lmsg, error);
 }