Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Oct 2009 21:01:41 +0000 (UTC)
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r198376 - head/lib/libusb
Message-ID:  <200910222101.n9ML1fT9040071@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910222101.n9ML1fT9040071>