diff options
-rw-r--r-- | net/netlink/attr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/netlink/attr.c b/net/netlink/attr.c index c83fea7da9a8..56c3ce7fe29a 100644 --- a/net/netlink/attr.c +++ b/net/netlink/attr.c | |||
@@ -83,6 +83,12 @@ static int validate_nla(struct nlattr *nla, int maxtype, | |||
83 | if (attrlen < NLA_ALIGN(pt->len) + NLA_HDRLEN + nla_len(nla)) | 83 | if (attrlen < NLA_ALIGN(pt->len) + NLA_HDRLEN + nla_len(nla)) |
84 | return -ERANGE; | 84 | return -ERANGE; |
85 | break; | 85 | break; |
86 | case NLA_NESTED: | ||
87 | /* a nested attributes is allowed to be empty; if its not, | ||
88 | * it must have a size of at least NLA_HDRLEN. | ||
89 | */ | ||
90 | if (attrlen == 0) | ||
91 | break; | ||
86 | default: | 92 | default: |
87 | if (pt->len) | 93 | if (pt->len) |
88 | minlen = pt->len; | 94 | minlen = pt->len; |