aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/urb.c
diff options
context:
space:
mode:
authorRoel Kluin <roel.kluin@gmail.com>2009-03-13 12:19:18 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-03-24 16:20:45 -0700
commit71d2718f2507dc17501d04e2bdca7b8e694ce365 (patch)
treea633d1b4bcaf1d44013a07927a669503a9d36d65 /drivers/usb/core/urb.c
parentd2ad67b3fa61eed52b22491210c668a94c7bf17e (diff)
downloadkernel_samsung_smdk4412-71d2718f2507dc17501d04e2bdca7b8e694ce365.zip
kernel_samsung_smdk4412-71d2718f2507dc17501d04e2bdca7b8e694ce365.tar.gz
kernel_samsung_smdk4412-71d2718f2507dc17501d04e2bdca7b8e694ce365.tar.bz2
USB: more u32 conversion after transfer_buffer_length and actual_length
transfer_buffer_length and actual_length have become unsigned, therefore some additional conversion of local variables, function arguments and print specifications is desired. A test for a negative urb->transfer_buffer_length became obsolete; instead we ensure that it does not exceed INT_MAX. Also, urb->actual_length is always less than urb->transfer_buffer_length. rh_string() does no longer return -EPIPE in the case of an unsupported ID. Instead its only caller, rh_call_control() does the check. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core/urb.c')
-rw-r--r--drivers/usb/core/urb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c
index 7025d80..3376055 100644
--- a/drivers/usb/core/urb.c
+++ b/drivers/usb/core/urb.c
@@ -370,7 +370,7 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
}
/* the I/O buffer must be mapped/unmapped, except when length=0 */
- if (urb->transfer_buffer_length < 0)
+ if (urb->transfer_buffer_length > INT_MAX)
return -EMSGSIZE;
#ifdef DEBUG