From: Colin Ian King Date: Thu, 17 Aug 2017 22:14:58 +0000 (+0100) Subject: irda: do not leak initialized list.dev to userspace X-Git-Tag: v4.12.10~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4e4a29699194e57e3545eabe0659f207a8f3ef3;p=thirdparty%2Fkernel%2Fstable.git irda: do not leak initialized list.dev to userspace [ Upstream commit b024d949a3c24255a7ef1a470420eb478949aa4c ] list.dev has not been initialized and so the copy_to_user is copying data from the stack back to user space which is a potential information leak. Fix this ensuring all of list is initialized to zero. Detected by CoverityScan, CID#1357894 ("Uninitialized scalar variable") Signed-off-by: Colin Ian King Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c index 8d77ad5cadaff..4cadc29f547ce 100644 --- a/net/irda/af_irda.c +++ b/net/irda/af_irda.c @@ -2225,7 +2225,7 @@ static int irda_getsockopt(struct socket *sock, int level, int optname, { struct sock *sk = sock->sk; struct irda_sock *self = irda_sk(sk); - struct irda_device_list list; + struct irda_device_list list = { 0 }; struct irda_device_info *discoveries; struct irda_ias_set * ias_opt; /* IAS get/query params */ struct ias_object * ias_obj; /* Object in IAS */