wifi: mt76: mt7921: resource leaks at mt7921_check_offload_capability()
authorSean Wang <sean.wang@mediatek.com>
Thu, 8 Dec 2022 23:01:57 +0000 (07:01 +0800)
committerFelix Fietkau <nbd@nbd.name>
Fri, 9 Dec 2022 15:45:39 +0000 (16:45 +0100)
Fixed coverity issue with resource leaks at variable "fw" going out of
scope leaks the storage it points to mt7921_check_offload_capability().

Reported-by: coverity-bot <keescook+coverity-bot@chromium.org>
Addresses-Coverity-ID: 1527806 ("Resource leaks")
Fixes: 034ae28b56f1 ("wifi: mt76: mt7921: introduce remain_on_channel support")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/init.c

index 542dfd4251290d25da2c83d9a37b664969c1aaea..d4b681d7e1d220562734ef95ba0085d8073dc40e 100644 (file)
@@ -175,7 +175,7 @@ u8 mt7921_check_offload_capability(struct device *dev, const char *fw_wm)
 
        if (!fw || !fw->data || fw->size < sizeof(*hdr)) {
                dev_err(dev, "Invalid firmware\n");
-               return -EINVAL;
+               goto out;
        }
 
        data = fw->data;
@@ -206,6 +206,7 @@ u8 mt7921_check_offload_capability(struct device *dev, const char *fw_wm)
                data += le16_to_cpu(rel_info->len) + rel_info->pad_len;
        }
 
+out:
        release_firmware(fw);
 
        return features ? features->data : 0;