DragonFlyBSD Kernel Audit
DF-0660 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/netgraph/ng_device.c b/sys/netgraph/ng_device.c
--- a/sys/netgraph/ng_device.c
+++ b/sys/netgraph/ng_device.c
@@ -360,12 +360,6 @@
 		return(-1);
 	}
 
-	buffer = kmalloc(sizeof(char)*m->m_len, M_DEVBUF, M_NOWAIT | M_ZERO);
-	if(buffer == NULL) {
-		kprintf("%s(): ERROR: buffer malloc failed\n", __func__);
-		return(-1);
-	}
-
 	buffer = mtod(m, char *);
 
 	if( (connection->loc+m->m_len) < NGD_QUEUE_SIZE) {
@@ -374,7 +368,7 @@
 	} else
 		kprintf("%s(): queue full, first read out a bit\n", __func__);
 
-	kfree(buffer, M_DEVBUF);
+	m_freem(m);
 
 	return(0);
 }