Module Name:    src
Committed By:   skrll
Date:           Wed Mar 11 07:48:42 UTC 2015

Modified Files:
        src/sys/dev/usb [nick-nhusb]: usbdi.c

Log Message:
Fix malloc to kmem conversion by grabbing nendpt before calling
usbd_fill_iface_data


To generate a diff of this commit:
cvs rdiff -u -r1.162.2.18 -r1.162.2.19 src/sys/dev/usb/usbdi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/usbdi.c
diff -u src/sys/dev/usb/usbdi.c:1.162.2.18 src/sys/dev/usb/usbdi.c:1.162.2.19
--- src/sys/dev/usb/usbdi.c:1.162.2.18	Fri Mar  6 14:08:39 2015
+++ src/sys/dev/usb/usbdi.c	Wed Mar 11 07:48:42 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbdi.c,v 1.162.2.18 2015/03/06 14:08:39 skrll Exp $	*/
+/*	$NetBSD: usbdi.c,v 1.162.2.19 2015/03/11 07:48:42 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2012 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.162.2.18 2015/03/06 14:08:39 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.162.2.19 2015/03/11 07:48:42 skrll Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -748,13 +748,13 @@ usbd_set_interface(usbd_interface_handle
 		return USBD_IN_USE;
 
 	endpoints = iface->ui_endpoints;
+	int nendpt = iface->ui_idesc->bNumEndpoints;
 	err = usbd_fill_iface_data(iface->ui_dev, iface->ui_index, altidx);
 	if (err)
 		return err;
 
 	/* new setting works, we can free old endpoints */
 	if (endpoints != NULL) {
-        	int nendpt = iface->ui_idesc->bNumEndpoints;
 		kmem_free(endpoints, nendpt * sizeof(struct usbd_endpoint));
 	}
 

Reply via email to