Author: thompsa
Date: Thu Oct 22 21:01:41 2009
New Revision: 198376
URL: http://svn.freebsd.org/changeset/base/198376

Log:
  Prevent wraparound of the timeout variable.
  
  Submitted by: HPS

Modified:
  head/lib/libusb/libusb20_ugen20.c

Modified: head/lib/libusb/libusb20_ugen20.c
==============================================================================
--- head/lib/libusb/libusb20_ugen20.c   Thu Oct 22 20:59:51 2009        
(r198375)
+++ head/lib/libusb/libusb20_ugen20.c   Thu Oct 22 21:01:41 2009        
(r198376)
@@ -800,7 +800,11 @@ ugen20_tr_submit(struct libusb20_transfe
        if (xfer->flags & LIBUSB20_TRANSFER_DO_CLEAR_STALL) {
                fsep->flags |= USB_FS_FLAG_CLEAR_STALL;
        }
-       fsep->timeout = xfer->timeout;
+       /* NOTE: The "fsep->timeout" variable is 16-bit. */
+       if (xfer->timeout > 65535)
+               fsep->timeout = 65535;
+       else
+               fsep->timeout = xfer->timeout;
 
        temp.ep_index = xfer->trIndex;
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to