NFC: st95hf: Fix memleak in st95hf_in_send_cmd
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Sun, 23 Aug 2020 07:23:43 +0000 (15:23 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 25 Aug 2020 00:34:25 +0000 (17:34 -0700)
When down_killable() fails, skb_resp should be freed
just like when st95hf_spi_send() fails.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/nfc/st95hf/core.c

index 9642971..4578547 100644 (file)
@@ -966,7 +966,7 @@ static int st95hf_in_send_cmd(struct nfc_digital_dev *ddev,
        rc = down_killable(&stcontext->exchange_lock);
        if (rc) {
                WARN(1, "Semaphore is not found up in st95hf_in_send_cmd\n");
-               return rc;
+               goto free_skb_resp;
        }
 
        rc = st95hf_spi_send(&stcontext->spicontext, skb->data,