DragonFlyBSD Kernel Audit
DF-0412 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/netgraph7/netgraph/ng_parse.c b/sys/netgraph7/netgraph/ng_parse.c
--- a/sys/netgraph7/netgraph/ng_parse.c
+++ b/sys/netgraph7/netgraph/ng_parse.c
@@ -749,7 +749,8 @@
 	const u_char *data, int *off, char *cbuf, int cbuflen)
 {
 	const char *const raw = (const char *)data + *off;
-	char *const s = ng_encode_string(raw, strlen(raw));
+	size_t rawlen = strnlen(raw, (size_t)(cbuflen > 0 ? cbuflen : 1));
+	char *const s = ng_encode_string(raw, rawlen);
 	int error;
 
 	if (s == NULL)