DF-3483 / fix.diff
diff --git a/a/sys/netgraph/netgraph/ng_base.c bb/sys/netgraph/netgraph/ng_base.c index f9850666..e281bee9 100644 --- a/a/sys/netgraph/netgraph/ng_base.c +++ bb/a/sys/netgraph/netgraph/ng_base.c @@ -1262,6 +1262,7 @@ ng_generic_msg(node_p here, struct ng_mesg *msg, const char *retaddr, if (msg->header.arglen != sizeof(*mkp)) { TRAP_ERROR; + kfree(msg, M_NETGRAPH); return (EINVAL); } mkp->type[sizeof(mkp->type) - 1] = '\0'; @@ -1278,6 +1279,7 @@ ng_generic_msg(node_p here, struct ng_mesg *msg, const char *retaddr, if (msg->header.arglen != sizeof(*con)) { TRAP_ERROR; + kfree(msg, M_NETGRAPH); return (EINVAL); } con->path[sizeof(con->path) - 1] = '\0'; @@ -1295,6 +1297,7 @@ ng_generic_msg(node_p here, struct ng_mesg *msg, const char *retaddr, if (msg->header.arglen != sizeof(*nam)) { TRAP_ERROR; + kfree(msg, M_NETGRAPH); return (EINVAL); } nam->name[sizeof(nam->name) - 1] = '\0'; @@ -1308,6 +1311,7 @@ ng_generic_msg(node_p here, struct ng_mesg *msg, const char *retaddr, if (msg->header.arglen != sizeof(*rmh)) { TRAP_ERROR; + kfree(msg, M_NETGRAPH); return (EINVAL); } rmh->ourhook[sizeof(rmh->ourhook) - 1] = '\0'; |