[PATCH 2/2] ath10k: fix possible memory leak in new FW loading
Michal Kazior
michal.kazior at tieto.com
Fri Oct 4 02:13:20 EDT 2013
Some failpaths did `return` instead of a `goto`
leaking requested firmware.
Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
---
drivers/net/wireless/ath/ath10k/core.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index bf85d34..5acb404 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -404,12 +404,14 @@ static int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name)
if (len < magic_len) {
ath10k_err("firmware image too small to contain magic: %zu\n",
len);
- return -EINVAL;
+ ret = -EINVAL;
+ goto err;
}
if (memcmp(data, ATH10K_FIRMWARE_MAGIC, magic_len) != 0) {
ath10k_err("Invalid firmware magic\n");
- return -EINVAL;
+ ret = -EINVAL;
+ goto err;
}
/* jump over the padding */
@@ -431,7 +433,8 @@ static int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name)
if (len < ie_len) {
ath10k_err("Invalid length for FW IE %d (%zu < %zu)\n",
ie_id, len, ie_len);
- return -EINVAL;
+ ret = -EINVAL;
+ goto err;
}
switch (ie_id) {
--
1.7.9.5
More information about the ath10k
mailing list