Re: [Resend PATCH v2] testusb: add path /dev/bus/usb to default search paths of usbfs

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


On Tue, 22 May 2012, Du, ChangbinX wrote:

> As real device-nodes managed by udev whose nodes lived in /dev/bus/usb are mostly used today, let testusb tool use that directory as one default path make tool be more convenient to use.
> 
> Signed-off-by: Du Changbin <changbinx.du@xxxxxxxxx>
> ---
>  tools/usb/testusb.c |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/tools/usb/testusb.c b/tools/usb/testusb.c index 6e0f567..82d7c59 100644
> --- a/tools/usb/testusb.c
> +++ b/tools/usb/testusb.c
> @@ -358,6 +358,7 @@ static const char *usbfs_dir_find(void)  {
>  	static char usbfs_path_0[] = "/dev/usb/devices";
>  	static char usbfs_path_1[] = "/proc/bus/usb/devices";
> +	static char udev_usb_path[] = "/dev/bus/usb";
>  
>  	static char *const usbfs_paths[] = {
>  		usbfs_path_0, usbfs_path_1
> @@ -376,6 +377,10 @@ static const char *usbfs_dir_find(void)
>  		}
>  	} while (++it != end);
>  
> +	/* real device-nodes managed by udev */
> +	if (access(udev_usb_path, F_OK) == 0)
> +		return udev_usb_path;
> +
>  	return NULL;
>  }
>  

Two issues with this: F_OK only guarantees that the path exists, it does 
not guarantee that it is readable like this function guarantees for 
usbfs_paths, and access() shouldn't be used because of its security 
implications, you're better off using open() and testing for fd.
--
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


B and H Foto and Electronics Corp.

[Linux Media]     [Video for Linux]     [Linux Input]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]     [More Archives]

Add to Google Powered by Linux