From 7bdc07318d18bdfdce77125cc51a7f2a157cdc95 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Mon, 12 Dec 2011 03:37:58 +0100 Subject: [PATCH] Fix use after free in error case. CID 10545. --- src/add-ons/kernel/drivers/printer/usb/usb_printer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/drivers/printer/usb/usb_printer.cpp b/src/add-ons/kernel/drivers/printer/usb/usb_printer.cpp index 5514dd2443..be475d884e 100644 --- a/src/add-ons/kernel/drivers/printer/usb/usb_printer.cpp +++ b/src/add-ons/kernel/drivers/printer/usb/usb_printer.cpp @@ -224,8 +224,9 @@ usb_printer_device_added(usb_device newDevice, void **cookie) device->notify = create_sem(0, "usb_printer callback notify"); if (device->notify < B_OK) { mutex_destroy(&device->lock); + status_t result = device->notify; free(device); - return device->notify; + return result; } mutex_lock(&gDeviceListLock);