Commit ce384d91 authored by Kulikov Vasiliy's avatar Kulikov Vasiliy Committed by David S. Miller

isdn: mISDN: socket: fix information leak to userland

Structure mISDN_devinfo is copied to userland with the field "name"
that has the last elements unitialized.  It leads to leaking of
contents of kernel stack memory.
Signed-off-by: default avatarVasiliy Kulikov <segooon@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3e9ebd3c
...@@ -392,6 +392,7 @@ data_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) ...@@ -392,6 +392,7 @@ data_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
if (dev) { if (dev) {
struct mISDN_devinfo di; struct mISDN_devinfo di;
memset(&di, 0, sizeof(di));
di.id = dev->id; di.id = dev->id;
di.Dprotocols = dev->Dprotocols; di.Dprotocols = dev->Dprotocols;
di.Bprotocols = dev->Bprotocols | get_all_Bprotocols(); di.Bprotocols = dev->Bprotocols | get_all_Bprotocols();
...@@ -672,6 +673,7 @@ base_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) ...@@ -672,6 +673,7 @@ base_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
if (dev) { if (dev) {
struct mISDN_devinfo di; struct mISDN_devinfo di;
memset(&di, 0, sizeof(di));
di.id = dev->id; di.id = dev->id;
di.Dprotocols = dev->Dprotocols; di.Dprotocols = dev->Dprotocols;
di.Bprotocols = dev->Bprotocols | get_all_Bprotocols(); di.Bprotocols = dev->Bprotocols | get_all_Bprotocols();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment