* 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:
Salvatore Benedetto 2008-01-22 17:54:59 +00:00
parent f2e973d406
commit 5b6cdc4c7b
2 changed files with 9 additions and 3 deletions

View File

@ -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;

View File

@ -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;