Skip to content

Commit 93d904a

Browse files
Shang XiaoJingdavem330
authored andcommitted
nfc: nfcmrvl: Fix potential memory leak in nfcmrvl_i2c_nci_send()
nfcmrvl_i2c_nci_send() will be called by nfcmrvl_nci_send(), and skb should be freed in nfcmrvl_i2c_nci_send(). However, nfcmrvl_nci_send() will only free skb when i2c_master_send() return >=0, which means skb will memleak when i2c_master_send() failed. Free skb no matter whether i2c_master_send() succeeds. Fixes: b5b3e23 ("NFC: nfcmrvl: add i2c driver") Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 3a146b7 commit 93d904a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/nfc/nfcmrvl/i2c.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,15 @@ static int nfcmrvl_i2c_nci_send(struct nfcmrvl_private *priv,
132132
ret = -EREMOTEIO;
133133
} else
134134
ret = 0;
135+
}
136+
137+
if (ret) {
135138
kfree_skb(skb);
139+
return ret;
136140
}
137141

138-
return ret;
142+
consume_skb(skb);
143+
return 0;
139144
}
140145

141146
static void nfcmrvl_i2c_nci_update_config(struct nfcmrvl_private *priv,

0 commit comments

Comments
 (0)