wifi: mt76: mt7915: fix mt7915_rate_txpower_get() resource leaks
authorRyder Lee <ryder.lee@mediatek.com>
Sat, 3 Dec 2022 03:22:22 +0000 (11:22 +0800)
committerFelix Fietkau <nbd@nbd.name>
Fri, 9 Dec 2022 15:45:38 +0000 (16:45 +0100)
Coverity message: variable "buf" going out of scope leaks the storage.

Reported-by: coverity-bot <keescook+coverity-bot@chromium.org>
Addresses-Coverity-ID: 1527799 ("Resource leaks")
Fixes: e3296759f347 ("wifi: mt76: mt7915: enable per bandwidth power limit support")
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c

index fb46c2c1784f2b304ceb940ad90c21425ae64fab..a7fdcd1f3d9880faaaea39149f6b12d9bb7ef853 100644 (file)
@@ -996,7 +996,7 @@ mt7915_rate_txpower_get(struct file *file, char __user *user_buf,
 
        ret = mt7915_mcu_get_txpower_sku(phy, txpwr, sizeof(txpwr));
        if (ret)
-               return ret;
+               goto out;
 
        /* Txpower propagation path: TMAC -> TXV -> BBP */
        len += scnprintf(buf + len, sz - len,
@@ -1047,6 +1047,8 @@ mt7915_rate_txpower_get(struct file *file, char __user *user_buf,
                         mt76_get_field(dev, reg, MT_WF_PHY_TPC_POWER));
 
        ret = simple_read_from_buffer(user_buf, count, ppos, buf, len);
+
+out:
        kfree(buf);
        return ret;
 }