From: Ursula Braun Date: Tue, 19 Jan 2016 09:41:33 +0000 (+0100) Subject: af_iucv: Validate socket address length in iucv_sock_bind() X-Git-Tag: firefly_0821_release~176^2~475^2~417 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=626a83d5d55b90fc4df792bb0aa707df2ecafa4b;p=firefly-linux-kernel-4.4.55.git af_iucv: Validate socket address length in iucv_sock_bind() [ Upstream commit 52a82e23b9f2a9e1d429c5207f8575784290d008 ] Signed-off-by: Ursula Braun Reported-by: Dmitry Vyukov Reviewed-by: Evgeny Cherkashin Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c index 435608c4306d..20ab7b2ec463 100644 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c @@ -708,6 +708,9 @@ static int iucv_sock_bind(struct socket *sock, struct sockaddr *addr, if (!addr || addr->sa_family != AF_IUCV) return -EINVAL; + if (addr_len < sizeof(struct sockaddr_iucv)) + return -EINVAL; + lock_sock(sk); if (sk->sk_state != IUCV_OPEN) { err = -EBADFD;