diff options
-rw-r--r-- | lib/session.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/session.c b/lib/session.c index ca96aaa..16b5549 100644 --- a/lib/session.c +++ b/lib/session.c @@ -678,6 +678,10 @@ attr2data(struct ipset_session *session, struct nlattr *nla[], default: break; } + } else if (attr->type == MNL_TYPE_NUL_STRING) { + if (!d || strlen(d) >= attr->len) + FAILURE("Broken kernel message: " + "string type attribute missing or too long!"); } #ifdef IPSET_DEBUG else |