r2768 - trunk/src/host/dfu-util/src

laforge at sita.openmoko.org laforge at sita.openmoko.org
Tue Aug 21 21:12:56 CEST 2007


Author: laforge
Date: 2007-08-21 21:12:52 +0200 (Tue, 21 Aug 2007)
New Revision: 2768

Modified:
   trunk/src/host/dfu-util/src/main.c
Log:
add some sanity checking whether config and interface descriptors actually are
populated (see
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=672).


Modified: trunk/src/host/dfu-util/src/main.c
===================================================================
--- trunk/src/host/dfu-util/src/main.c	2007-08-21 19:08:00 UTC (rev 2767)
+++ trunk/src/host/dfu-util/src/main.c	2007-08-21 19:12:52 UTC (rev 2768)
@@ -85,12 +85,20 @@
 	for (cfg_idx = 0; cfg_idx < dev->descriptor.bNumConfigurations;
 	     cfg_idx++) {
 		cfg = &dev->config[cfg_idx];
+		/* in some cases, noticably FreeBSD if uid != 0,
+		 * the configuration descriptors are empty */
+		if (!cfg)
+			return 0;
 		for (intf_idx = 0; intf_idx < cfg->bNumInterfaces;
 		     intf_idx++) {
 			uif = &cfg->interface[intf_idx];
+			if (!uif)
+				return 0;
 			for (alt_idx = 0;
 			     alt_idx < uif->num_altsetting; alt_idx++) {
 				intf = &uif->altsetting[alt_idx];
+				if (!intf)
+					return 0;
 				if (intf->bInterfaceClass == 0xfe &&
 				    intf->bInterfaceSubClass == 1) {
 					dfu_if->dev = dev;





More information about the commitlog mailing list