summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_base.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netgraph/ng_base.c')
-rw-r--r--sys/netgraph/ng_base.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/netgraph/ng_base.c b/sys/netgraph/ng_base.c
index 981d0bf..d9b26f4 100644
--- a/sys/netgraph/ng_base.c
+++ b/sys/netgraph/ng_base.c
@@ -856,7 +856,9 @@ ng_newtype(struct ng_type *tp)
const size_t namelen = strlen(tp->name);
/* Check version and type name fields */
- if (tp->version != NG_VERSION || namelen == 0 || namelen > NG_TYPELEN) {
+ if ((tp->version != NG_ABI_VERSION)
+ || (namelen == 0)
+ || (namelen > NG_TYPELEN)) {
TRAP_ERROR;
return (EINVAL);
}
@@ -1489,6 +1491,12 @@ ng_generic_msg(node_p here, struct ng_mesg *msg, const char *retaddr,
break;
}
+ /* Check response pointer */
+ if (resp == NULL) {
+ error = EINVAL;
+ break;
+ }
+
/* Get a response message with lots of room */
NG_MKRESPONSE(rp, msg, sizeof(*ascii) + bufSize, M_NOWAIT);
if (rp == NULL) {
@@ -1565,6 +1573,12 @@ ng_generic_msg(node_p here, struct ng_mesg *msg, const char *retaddr,
}
ascii->data[ascii->header.arglen - 1] = '\0';
+ /* Check response pointer */
+ if (resp == NULL) {
+ error = EINVAL;
+ break;
+ }
+
/* Get a response message with lots of room */
NG_MKRESPONSE(rp, msg, sizeof(*binary) + bufSize, M_NOWAIT);
if (rp == NULL) {
OpenPOWER on IntegriCloud