diff options
-rw-r--r-- | net/core/rtnetlink.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 11b25fbf3dd2..9201e3621351 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
@@ -2031,7 +2031,8 @@ static int do_setlink(const struct sk_buff *skb, | |||
2031 | struct sockaddr *sa; | 2031 | struct sockaddr *sa; |
2032 | int len; | 2032 | int len; |
2033 | 2033 | ||
2034 | len = sizeof(sa_family_t) + dev->addr_len; | 2034 | len = sizeof(sa_family_t) + max_t(size_t, dev->addr_len, |
2035 | sizeof(*sa)); | ||
2035 | sa = kmalloc(len, GFP_KERNEL); | 2036 | sa = kmalloc(len, GFP_KERNEL); |
2036 | if (!sa) { | 2037 | if (!sa) { |
2037 | err = -ENOMEM; | 2038 | err = -ENOMEM; |