mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-08-16 23:29:50 +00:00
dm: fix pointer not checked for null before use
this patch fix null pointer access issues. Tracked-On: #3434 Signed-off-by: Tianhua Sun <tianhuax.s.sun@intel.com> Reviewed-by: Xiaoguang Wu <xiaoguang.wu@intel.com>
This commit is contained in:
parent
d4f44bc7a6
commit
493ddefd47
@ -2923,7 +2923,7 @@ retry:
|
||||
trb->dwTrb2 & 0x1FFFF, (void *)addr,
|
||||
ccs);
|
||||
|
||||
if (trb->dwTrb3 & XHCI_TRB_3_CHAIN_BIT)
|
||||
if (xfer_block && (trb->dwTrb3 & XHCI_TRB_3_CHAIN_BIT))
|
||||
xfer_block->chained = 1;
|
||||
break;
|
||||
|
||||
|
@ -181,6 +181,10 @@ usb_dev_comp_cb(struct libusb_transfer *trn)
|
||||
|
||||
/* async request */
|
||||
r = trn->user_data;
|
||||
if (!r) {
|
||||
UPRINTF(LFTL, "error: user context data not found on USB transfer\r\n");
|
||||
goto free_transfer;
|
||||
}
|
||||
info = &r->udev->info;
|
||||
|
||||
/* async transfer */
|
||||
@ -311,13 +315,14 @@ out:
|
||||
cancel_out:
|
||||
/* unlock and release memory */
|
||||
g_ctx.unlock_ep_cb(xfer->dev, &xfer->epid);
|
||||
libusb_free_transfer(trn);
|
||||
|
||||
if (r && r->buffer)
|
||||
free(r->buffer);
|
||||
|
||||
xfer->requests[r->blk_start] = NULL;
|
||||
free(r);
|
||||
free_transfer:
|
||||
libusb_free_transfer(trn);
|
||||
}
|
||||
|
||||
static struct usb_dev_req *
|
||||
|
Loading…
Reference in New Issue
Block a user