DragonFlyBSD Kernel Audit
DF-0449 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/netgraph/netgraph/ng_parse.c b/sys/netgraph/netgraph/ng_parse.c
--- a/sys/netgraph/netgraph/ng_parse.c
+++ b/sys/netgraph/netgraph/ng_parse.c
@@ -713,6 +713,10 @@
 		return (EINVAL);
 	*off += len;
 	len = strlen(sval) + 1;
+	if (len > *buflen) {
+		kfree(sval, M_NETGRAPH);
+		return (ERANGE);
+	}
 	bcopy(sval, buf, len);
 	kfree(sval, M_NETGRAPH);
 	*buflen = len;