Преглед изворни кода

Merge branch 'bugfix/wpa3_memory_leak_v4.2' into 'release/v4.2'

esp_wifi: Fixes memory leak in wpa3 connection.(v4.2)

See merge request espressif/esp-idf!16561
Jiang Jiang Jian пре 4 година
родитељ
комит
0336c5f525
1 измењених фајлова са 4 додато и 0 уклоњено
  1. 4 0
      components/wpa_supplicant/src/common/sae.c

+ 4 - 0
components/wpa_supplicant/src/common/sae.c

@@ -48,6 +48,7 @@ int sae_set_group(struct sae_data *sae, int group)
 		tmp->prime_len = tmp->dh->prime_len;
 		if (tmp->prime_len > SAE_MAX_PRIME_LEN) {
 			sae_clear_data(sae);
+			os_free(tmp);
 			return ESP_FAIL;
 		}
 
@@ -55,6 +56,7 @@ int sae_set_group(struct sae_data *sae, int group)
 							tmp->prime_len);
 		if (tmp->prime_buf == NULL) {
 			sae_clear_data(sae);
+			os_free(tmp);
 			return ESP_FAIL;
 		}
 		tmp->prime = tmp->prime_buf;
@@ -63,6 +65,7 @@ int sae_set_group(struct sae_data *sae, int group)
 							tmp->dh->order_len);
 		if (tmp->order_buf == NULL) {
 			sae_clear_data(sae);
+			os_free(tmp);
 			return ESP_FAIL;
 		}
 		tmp->order = tmp->order_buf;
@@ -73,6 +76,7 @@ int sae_set_group(struct sae_data *sae, int group)
 	/* Unsupported group */
 	wpa_printf(MSG_DEBUG,
 		   "SAE: Group %d not supported by the crypto library", group);
+        os_free(tmp);
 	return ESP_FAIL;
 }