irda: do not leak initialized list.dev to userspace

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 <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Colin Ian King 2017-08-17 23:14:58 +01:00 коммит произвёл David S. Miller
Родитель ca3d89a3eb
Коммит b024d949a3
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -2213,7 +2213,7 @@ static int irda_getsockopt(struct socket *sock, int level, int optname,
{ {
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct irda_sock *self = irda_sk(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_device_info *discoveries;
struct irda_ias_set * ias_opt; /* IAS get/query params */ struct irda_ias_set * ias_opt; /* IAS get/query params */
struct ias_object * ias_obj; /* Object in IAS */ struct ias_object * ias_obj; /* Object in IAS */