summaryrefslogtreecommitdiff
path: root/net/compat.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-11-03 22:04:05 -0800
committerMark Brown <broonie@linaro.org>2013-11-03 22:04:05 -0800
commitca89bc248e2fac44d6374a48b8d38b068c7a1bdf (patch)
tree0c10af2a5f22a1ad0283023d403022ce6b84ebc4 /net/compat.c
parent9645083ca5ef365b7b750cf219bb20b61bb925f8 (diff)
parent7b5bfb82882b9b1c8423ce0ed6852ca3762d967a (diff)
Merge remote-tracking branch 'asoc/fix/ak4642' into asoc-linus
Diffstat (limited to 'net/compat.c')
-rw-r--r--net/compat.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/compat.c b/net/compat.c
index f0a1ba6c8086..89032580bd1d 100644
--- a/net/compat.c
+++ b/net/compat.c
@@ -71,6 +71,8 @@ int get_compat_msghdr(struct msghdr *kmsg, struct compat_msghdr __user *umsg)
__get_user(kmsg->msg_controllen, &umsg->msg_controllen) ||
__get_user(kmsg->msg_flags, &umsg->msg_flags))
return -EFAULT;
+ if (kmsg->msg_namelen > sizeof(struct sockaddr_storage))
+ return -EINVAL;
kmsg->msg_name = compat_ptr(tmp1);
kmsg->msg_iov = compat_ptr(tmp2);
kmsg->msg_control = compat_ptr(tmp3);