summaryrefslogtreecommitdiffstats
path: root/drivers/net/wan/farsync.c
diff options
context:
space:
mode:
authorSalva Peiró <speiro@ai2.upv.es>2013-10-11 11:50:03 +0200
committerDavid S. Miller <davem@davemloft.net>2013-10-11 23:50:59 +0200
commit96b340406724d87e4621284ebac5e059d67b2194 (patch)
treee74c02cbe36b3630dd083402d1d353eca81e2038 /drivers/net/wan/farsync.c
parentipv6: Initialize ip6_tnl.hlen in gre tunnel even if no route is found (diff)
downloadlinux-96b340406724d87e4621284ebac5e059d67b2194.tar.xz
linux-96b340406724d87e4621284ebac5e059d67b2194.zip
farsync: fix info leak in ioctl
The fst_get_iface() code fails to initialize the two padding bytes of struct sync_serial_settings after the ->loopback member. Add an explicit memset(0) before filling the structure to avoid the info leak. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wan/farsync.c')
-rw-r--r--drivers/net/wan/farsync.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 3f0c4f268751..bcfff0d62de4 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -1972,6 +1972,7 @@ fst_get_iface(struct fst_card_info *card, struct fst_port_info *port,
}
i = port->index;
+ memset(&sync, 0, sizeof(sync));
sync.clock_rate = FST_RDL(card, portConfig[i].lineSpeed);
/* Lucky card and linux use same encoding here */
sync.clock_type = FST_RDB(card, portConfig[i].internalClock) ==