Merge branch 'bugfix/wpa_supplicant_coverity_issue_fixes_v3.3' into 'release/v3.3'

Bugfix/wpa supplicant coverity issue fixes v3.3

See merge request espressif/esp-idf!12852
This commit is contained in:
Jiang Jiang Jian
2021-12-02 12:00:11 +00:00
7 changed files with 21 additions and 6 deletions

View File

@@ -97,6 +97,7 @@ static esp_err_t http_header_new_item(http_header_handle_t header, const char *k
_header_new_item_exit: _header_new_item_exit:
free(item->key); free(item->key);
free(item->value); free(item->value);
free(item);
return ESP_ERR_NO_MEM; return ESP_ERR_NO_MEM;
} }

View File

@@ -5555,7 +5555,12 @@ FRESULT f_mkfs (
sz_buf = len / ss; /* Size of working buffer (sector) */ sz_buf = len / ss; /* Size of working buffer (sector) */
szb_buf = sz_buf * ss; /* Size of working buffer (byte) */ szb_buf = sz_buf * ss; /* Size of working buffer (byte) */
} }
if (!buf || sz_buf == 0) return FR_NOT_ENOUGH_CORE; if (!buf || sz_buf == 0) {
#if FF_USE_LFN == 3
ff_memfree(buf);
#endif
return FR_NOT_ENOUGH_CORE;
}
/* Determine where the volume to be located (b_vol, sz_vol) */ /* Determine where the volume to be located (b_vol, sz_vol) */
if (FF_MULTI_PARTITION && part != 0) { if (FF_MULTI_PARTITION && part != 0) {

View File

@@ -557,12 +557,12 @@ static int vfs_fat_link(void* ctx, const char* n1, const char* n2)
} }
fail3: fail3:
f_close(pf2); f_close(pf2);
free(pf2);
fail2: fail2:
f_close(pf1); f_close(pf1);
free(pf1);
fail1: fail1:
free(buf); free(buf);
free(pf2);
free(pf1);
if (res != FR_OK) { if (res != FR_OK) {
ESP_LOGD(TAG, "%s: fresult=%d", __func__, res); ESP_LOGD(TAG, "%s: fresult=%d", __func__, res);
errno = fresult_to_errno(res); errno = fresult_to_errno(res);

View File

@@ -239,7 +239,10 @@ esp_transport_handle_t esp_transport_ssl_init()
{ {
esp_transport_handle_t t = esp_transport_init(); esp_transport_handle_t t = esp_transport_init();
transport_ssl_t *ssl = calloc(1, sizeof(transport_ssl_t)); transport_ssl_t *ssl = calloc(1, sizeof(transport_ssl_t));
ESP_TRANSPORT_MEM_CHECK(TAG, ssl, return NULL); ESP_TRANSPORT_MEM_CHECK(TAG, ssl, {
esp_transport_destroy(t);
return NULL;
});
esp_transport_set_context_data(t, ssl); esp_transport_set_context_data(t, ssl);
esp_transport_set_func(t, ssl_connect, ssl_read, ssl_write, ssl_close, ssl_poll_read, ssl_poll_write, ssl_destroy); esp_transport_set_func(t, ssl_connect, ssl_read, ssl_write, ssl_close, ssl_poll_read, ssl_poll_write, ssl_destroy);
esp_transport_set_async_connect_func(t, ssl_connect_async); esp_transport_set_async_connect_func(t, ssl_connect_async);

View File

@@ -226,7 +226,10 @@ esp_transport_handle_t esp_transport_tcp_init()
{ {
esp_transport_handle_t t = esp_transport_init(); esp_transport_handle_t t = esp_transport_init();
transport_tcp_t *tcp = calloc(1, sizeof(transport_tcp_t)); transport_tcp_t *tcp = calloc(1, sizeof(transport_tcp_t));
ESP_TRANSPORT_MEM_CHECK(TAG, tcp, return NULL); ESP_TRANSPORT_MEM_CHECK(TAG, tcp, {
esp_transport_destroy(t);
return NULL;
});
tcp->sock = -1; tcp->sock = -1;
esp_transport_set_func(t, tcp_connect, tcp_read, tcp_write, tcp_close, tcp_poll_read, tcp_poll_write, tcp_destroy); esp_transport_set_func(t, tcp_connect, tcp_read, tcp_write, tcp_close, tcp_poll_read, tcp_poll_write, tcp_destroy);
esp_transport_set_context_data(t, tcp); esp_transport_set_context_data(t, tcp);

View File

@@ -446,12 +446,14 @@ esp_transport_handle_t esp_transport_ws_init(esp_transport_handle_t parent_handl
ws->path = strdup("/"); ws->path = strdup("/");
ESP_TRANSPORT_MEM_CHECK(TAG, ws->path, { ESP_TRANSPORT_MEM_CHECK(TAG, ws->path, {
free(ws); free(ws);
esp_transport_destroy(t);
return NULL; return NULL;
}); });
ws->buffer = malloc(DEFAULT_WS_BUFFER); ws->buffer = malloc(DEFAULT_WS_BUFFER);
ESP_TRANSPORT_MEM_CHECK(TAG, ws->buffer, { ESP_TRANSPORT_MEM_CHECK(TAG, ws->buffer, {
free(ws->path); free(ws->path);
free(ws); free(ws);
esp_transport_destroy(t);
return NULL; return NULL;
}); });
@@ -533,4 +535,4 @@ int esp_transport_ws_get_read_payload_len(esp_transport_handle_t t)
{ {
transport_ws_t *ws = esp_transport_get_context_data(t); transport_ws_t *ws = esp_transport_get_context_data(t);
return ws->frame_state.payload_len; return ws->frame_state.payload_len;
} }

View File

@@ -83,6 +83,7 @@ static esp_err_t cmd_get_status_handler(WiFiConfigPayload *req,
malloc(sizeof(WifiConnectedState))); malloc(sizeof(WifiConnectedState)));
if (!connected) { if (!connected) {
ESP_LOGE(TAG, "Error allocating memory"); ESP_LOGE(TAG, "Error allocating memory");
free(resp_payload);
return ESP_ERR_NO_MEM; return ESP_ERR_NO_MEM;
} }
resp_payload->connected = connected; resp_payload->connected = connected;