libusbgx: Fix buffer overrun issue. CID#56128
authorPhilippe De Swert <philippe.deswert@jollamobile.com>
Tue, 13 May 2014 12:58:40 +0000 (15:58 +0300)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Tue, 22 Dec 2015 19:39:02 +0000 (20:39 +0100)
Avoid calling usbg_read_string() with a 40 byte long buffer, which in turn is filled in
by usbg_read_buf() which uses a maximum of 256 bytes (USBG_MAX_STR_LENGTH). This adjusts
the buffer to be the right size.

Signed-off-by: Philippe De Swert <philippe.deswert@jollamobile.com>
[Port from libusbg and update description]
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
src/usbg.c

index 5d9c083..66aa435 100644 (file)
@@ -681,7 +681,7 @@ static int usbg_parse_function_net_attrs(usbg_function *f,
                usbg_function_attrs *f_attrs)
 {
        struct ether_addr *addr;
-       char str_addr[40];
+       char str_addr[USBG_MAX_STR_LENGTH];
        int ret;
 
        ret = usbg_read_string(f->path, f->name, "dev_addr", str_addr);