From 13486cf5311fe5f5660f89e9ce578863b0afa255 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Tue, 21 Dec 2010 00:49:49 +0000 Subject: [PATCH] Fix dereference after free. CID 10543. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39909 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp index 3d4dbaf614..2a7cb7447b 100644 --- a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp @@ -737,8 +737,9 @@ usb_disk_device_added(usb_device newDevice, void **cookie) device->notify = create_sem(0, "usb_disk callback notify"); if (device->notify < B_OK) { mutex_destroy(&device->lock); + status_t result = device->notify; free(device); - return device->notify; + return result; } device->lun_count = usb_disk_get_max_lun(device) + 1;