diff options
Diffstat (limited to 'net')
| -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; |
