minor bug in usbip tool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

 I've being taking a deep look at the code in the usbip tool and found this small bug at https://github.com/torvalds/linux/blob/master/tools/usb/usbip/src/utils.c :

44         rc = write_sysfs_attribute(match_busid_attr_path, command,
45                                    sizeof(command));
                                            ^
 
Using sizeof instead of strlen in this line, leads to the following situation as seen by a strace:
strace -s100000 /usr/local/sbin/usbip bind -b 1-1.3
.
.
open("/sys/bus/usb/drivers/usbip-host/match_busid", O_WRONLY) = 3
write(3, "add 1-1.3\0@\0\0\0\0\0unbind\0\0\0\0\0\0\0\0\0\0/sys", 36) = 36
close(3)      
.
.

The string line should be "add 1-1.3" alone, but well, it works, so no doubt nobody noticed before.

Thought it is worth reporting anyway. Here's the patch:

diff --git a/tools/usb/usbip/src/utils.c b/tools/usb/usbip/src/utils.c
index 2b3d6d2..ea1a1af 100644
--- a/tools/usb/usbip/src/utils.c
+++ b/tools/usb/usbip/src/utils.c
@@ -42,7 +42,7 @@ int modify_match_busid(char *busid, int add)
                snprintf(command, SYSFS_BUS_ID_SIZE + 4, "del %s", busid);
 
        rc = write_sysfs_attribute(match_busid_attr_path, command,
-                                  sizeof(command));
+                                  strlen(command));
        if (rc < 0) {
                dbg("failed to write match_busid: %s", strerror(errno));
                return -1;


Regards,
Juan Zea

Juan Antonio Zea Herranz 
Proyectos y consultoría | Qindel Group 
E: juan.zea@xxxxxxxxxx 
T: +34 91 766 24 21 
M: +34 637 74 63 09 
W: qindel.com 

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux