ath11k: Fix memory leak on error path
authorAlex Dewar <alex.dewar90@gmail.com>
Sun, 4 Oct 2020 10:02:18 +0000 (11:02 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 8 Oct 2020 10:45:55 +0000 (13:45 +0300)
In ath11k_mac_setup_iface_combinations(), if memory cannot be assigned
for the variable limits, then the memory assigned to combinations will
be leaked. Fix this.

Addresses-Coverity-ID: 1497534 ("Resource leaks")
Fixes: 2626c269702e ("ath11k: add interface_modes to hw_params")
Signed-off-by: Alex Dewar <alex.dewar90@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201004100218.311653-2-alex.dewar90@gmail.com
drivers/net/wireless/ath/ath11k/mac.c

index 3f63a7b..7f8dd47 100644 (file)
@@ -6041,8 +6041,10 @@ static int ath11k_mac_setup_iface_combinations(struct ath11k *ar)
        n_limits = 2;
 
        limits = kcalloc(n_limits, sizeof(*limits), GFP_KERNEL);
-       if (!limits)
+       if (!limits) {
+               kfree(combinations);
                return -ENOMEM;
+       }
 
        limits[0].max = 1;
        limits[0].types |= BIT(NL80211_IFTYPE_STATION);