* fixed memory leak: if InitKernelAccess failed data was not deleted
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23703 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
f2e973d406
commit
5b6cdc4c7b
|
@ -847,8 +847,10 @@ EHCI::AddPendingTransfer(Transfer *transfer, ehci_qh *queueHead,
|
|||
return B_NO_MEMORY;
|
||||
|
||||
status_t result = transfer->InitKernelAccess();
|
||||
if (result < B_OK)
|
||||
if (result < B_OK) {
|
||||
delete data;
|
||||
return result;
|
||||
}
|
||||
|
||||
data->transfer = transfer;
|
||||
data->queue_head = queueHead;
|
||||
|
|
|
@ -754,8 +754,10 @@ UHCI::AddPendingTransfer(Transfer *transfer, Queue *queue,
|
|||
return B_NO_MEMORY;
|
||||
|
||||
status_t result = transfer->InitKernelAccess();
|
||||
if (result < B_OK)
|
||||
if (result < B_OK) {
|
||||
delete data;
|
||||
return result;
|
||||
}
|
||||
|
||||
data->transfer = transfer;
|
||||
data->queue = queue;
|
||||
|
@ -795,8 +797,10 @@ UHCI::AddPendingIsochronousTransfer(Transfer *transfer, uhci_td **isoRequest,
|
|||
return B_NO_MEMORY;
|
||||
|
||||
status_t result = transfer->InitKernelAccess();
|
||||
if (result < B_OK)
|
||||
if (result < B_OK) {
|
||||
delete data;
|
||||
return result;
|
||||
}
|
||||
|
||||
data->transfer = transfer;
|
||||
data->descriptors = isoRequest;
|
||||
|
|
Loading…
Reference in New Issue