From 3f2288a41bb6e0a0f3cd033a86ee27c35a4797d2 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sun, 6 May 2007 12:48:38 +0000 Subject: [PATCH] Fixed wrong deallocation of device resources which caused KDL when unplugging devices with more than one interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21038 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/bus_managers/usb/Device.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/bus_managers/usb/Device.cpp b/src/add-ons/kernel/bus_managers/usb/Device.cpp index 8b4eb2de55..7880a7b171 100644 --- a/src/add-ons/kernel/bus_managers/usb/Device.cpp +++ b/src/add-ons/kernel/bus_managers/usb/Device.cpp @@ -222,7 +222,7 @@ Device::~Device() for (int32 i = 0; i < fDeviceDescriptor.num_configurations; i++) { usb_configuration_info *configuration = &fConfigurations[i]; for (size_t j = 0; j < configuration->interface_count; j++) { - usb_interface_list *interfaceList = configuration->interface; + usb_interface_list *interfaceList = &configuration->interface[j]; for (size_t k = 0; k < interfaceList->alt_count; k++) { usb_interface_info *interface = &interfaceList->alt[k]; delete (Interface *)GetStack()->GetObject(interface->handle);