From e1b9985bd0bcb2c5733474dada483852ae4c8a83 Mon Sep 17 00:00:00 2001 From: Alexey Lapshin Date: Tue, 18 Jun 2024 00:17:15 +0700 Subject: [PATCH] fix(usb): fix warnings found by GNU static analyzer --- components/usb/hcd_dwc.c | 5 ++++- components/usb/usb_phy.c | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/components/usb/hcd_dwc.c b/components/usb/hcd_dwc.c index ebfd2c8e79..8187eea967 100644 --- a/components/usb/hcd_dwc.c +++ b/components/usb/hcd_dwc.c @@ -1593,9 +1593,12 @@ static dma_buffer_block_t *buffer_block_alloc(usb_transfer_type_t type) break; } dma_buffer_block_t *buffer = calloc(1, sizeof(dma_buffer_block_t)); + if (buffer == NULL) { + return NULL; + } size_t real_len = 0; void *xfer_desc_list = transfer_descriptor_list_alloc(desc_list_len, &real_len); - if (buffer == NULL || xfer_desc_list == NULL) { + if (xfer_desc_list == NULL) { free(buffer); heap_caps_free(xfer_desc_list); return NULL; diff --git a/components/usb/usb_phy.c b/components/usb/usb_phy.c index cfaf90abd2..7ae5e5f382 100644 --- a/components/usb/usb_phy.c +++ b/components/usb/usb_phy.c @@ -340,8 +340,10 @@ esp_err_t usb_new_phy(const usb_phy_config_t *config, usb_phy_handle_t *handle_r return ESP_OK; cleanup: - free(phy_context->iopins); - free(phy_context); + if (phy_context) { + free(phy_context->iopins); + free(phy_context); + } if (p_phy_ctrl_obj->ref_count == 0) { free(p_phy_ctrl_obj); p_phy_ctrl_obj = NULL;