| From: Alan <gnomes@lxorguk.ukuu.org.uk> |
| Date: Wed, 11 Dec 2013 18:32:59 +0000 |
| Subject: usbip: Fix sscanf handling |
| |
| commit 2d32927127f44d755780aa5fa88c8c34e72558f8 upstream. |
| |
| Scan only to the length permitted by the buffer |
| |
| One of a set of sscanf problems noted by Jackie Chang |
| |
| Signed-off-by: Alan Cox <alan@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/staging/usbip/userspace/libsrc/usbip_common.c | 2 +- |
| drivers/staging/usbip/userspace/libsrc/vhci_driver.c | 2 +- |
| 2 files changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/staging/usbip/userspace/libsrc/usbip_common.c |
| +++ b/drivers/staging/usbip/userspace/libsrc/usbip_common.c |
| @@ -164,7 +164,7 @@ int read_attr_speed(struct sysfs_device |
| goto err; |
| } |
| |
| - ret = sscanf(attr->value, "%s\n", speed); |
| + ret = sscanf(attr->value, "%99s\n", speed); |
| if (ret < 1) { |
| dbg("sscanf failed"); |
| goto err; |
| --- a/drivers/staging/usbip/userspace/libsrc/vhci_driver.c |
| +++ b/drivers/staging/usbip/userspace/libsrc/vhci_driver.c |
| @@ -66,7 +66,7 @@ static int parse_status(char *value) |
| unsigned long socket; |
| char lbusid[SYSFS_BUS_ID_SIZE]; |
| |
| - ret = sscanf(c, "%d %d %d %x %lx %s\n", |
| + ret = sscanf(c, "%d %d %d %x %lx %31s\n", |
| &port, &status, &speed, |
| &devid, &socket, lbusid); |
| |