diff options
author | Salva Peiró <speiro@ai2.upv.es> | 2014-03-11 14:31:23 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-03-17 19:13:23 -0400 |
commit | b19a47e0603ef89c4179e6e48f6dd1ccc7fa3a7c (patch) | |
tree | 3f78e027e478b1cbb48e7a3135352e1c8ce91bd2 /drivers/tty/synclinkmp.c | |
parent | ebade5e833eda30f648d9bf4954f7d47a920b60f (diff) |
synclink: fix info leak in ioctl
The hdlcdev_ioctl() 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: Salva Peiró <speiro@ai2.upv.es>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/synclinkmp.c')
-rw-r--r-- | drivers/tty/synclinkmp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/tty/synclinkmp.c b/drivers/tty/synclinkmp.c index 144202eef6fe..53ba8537de8d 100644 --- a/drivers/tty/synclinkmp.c +++ b/drivers/tty/synclinkmp.c | |||
@@ -1766,6 +1766,7 @@ static int hdlcdev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | |||
1766 | HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | | 1766 | HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | |
1767 | HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); | 1767 | HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); |
1768 | 1768 | ||
1769 | memset(&new_line, 0, sizeof(new_line)); | ||
1769 | switch (flags){ | 1770 | switch (flags){ |
1770 | case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN): new_line.clock_type = CLOCK_EXT; break; | 1771 | case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN): new_line.clock_type = CLOCK_EXT; break; |
1771 | case (HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG): new_line.clock_type = CLOCK_INT; break; | 1772 | case (HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG): new_line.clock_type = CLOCK_INT; break; |