summaryrefslogtreecommitdiff
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
authorZhiqiang Tu <ztu@codeaurora.org>2017-08-24 15:30:08 +0800
committerZhiqiang Tu <ztu@codeaurora.org>2017-08-24 16:39:56 +0800
commit9df1d44946b2278f14ee1ba90d3f3f281791e6bc (patch)
treed510fb0532267008691b65cca07ebc6324c2222e /net/unix/af_unix.c
parent1ebddfae1dd64f54b4da86a81eab1616ef8f2d83 (diff)
parentcb1c821645fd08ff03c7ed4d62a6e4ca0a6a6ad5 (diff)
Merge branch 'msm-4.4' into dev/msm-4.4-8996au
Conflicts: drivers/iommu/arm-smmu.c drivers/media/platform/msm/ais/fd/msm_fd_dev.c drivers/media/platform/msm/camera_v2/fd/msm_fd_dev.c drivers/soc/qcom/glink.c include/uapi/linux/msm_ipa.h Change-Id: Id007a850fa2df09f08c413ffcd447a6532fad83c Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
Diffstat (limited to 'net/unix/af_unix.c')
-rw-r--r--net/unix/af_unix.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 1f5d18d80fba..decd8b8d751f 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -997,7 +997,8 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
struct path path = { NULL, NULL };
err = -EINVAL;
- if (sunaddr->sun_family != AF_UNIX)
+ if (addr_len < offsetofend(struct sockaddr_un, sun_family) ||
+ sunaddr->sun_family != AF_UNIX)
goto out;
if (addr_len == sizeof(short)) {
@@ -1108,6 +1109,10 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr,
unsigned int hash;
int err;
+ err = -EINVAL;
+ if (alen < offsetofend(struct sockaddr, sa_family))
+ goto out;
+
if (addr->sa_family != AF_UNSPEC) {
err = unix_mkname(sunaddr, alen, &hash);
if (err < 0)