2018-08-14 15:13:33

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] Bluetooth: mediatek: Fix memory leak

In case memory resources for *fw* were allocated, release them before
return.

Addresses-Coverity-ID: 1472611 ("Resource leak")
Fixes: 7237c4c9ec92 ("Bluetooth: mediatek: Add protocol support for MediaTek serial devices")
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/bluetooth/btmtkuart.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/bluetooth/btmtkuart.c b/drivers/bluetooth/btmtkuart.c
index ed2a5c7..4593baf 100644
--- a/drivers/bluetooth/btmtkuart.c
+++ b/drivers/bluetooth/btmtkuart.c
@@ -144,8 +144,10 @@ static int mtk_setup_fw(struct hci_dev *hdev)
fw_size = fw->size;

/* The size of patch header is 30 bytes, should be skip */
- if (fw_size < 30)
- return -EINVAL;
+ if (fw_size < 30) {
+ err = -EINVAL;
+ goto free_fw;
+ }

fw_size -= 30;
fw_ptr += 30;
@@ -172,8 +174,8 @@ static int mtk_setup_fw(struct hci_dev *hdev)
fw_ptr += dlen;
}

+free_fw:
release_firmware(fw);
-
return err;
}

--
2.7.4



2018-08-14 18:46:38

by Sean Wang

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: mediatek: Fix memory leak

Hi, Gustavo

thanks for the catch up

Acked-by: Sean Wang <[email protected]>


On Tue, 2018-08-14 at 10:10 -0500, Gustavo A. R. Silva wrote:
> In case memory resources for *fw* were allocated, release them before
> return.
>
> Addresses-Coverity-ID: 1472611 ("Resource leak")
> Fixes: 7237c4c9ec92 ("Bluetooth: mediatek: Add protocol support for MediaTek serial devices")
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> drivers/bluetooth/btmtkuart.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/bluetooth/btmtkuart.c b/drivers/bluetooth/btmtkuart.c
> index ed2a5c7..4593baf 100644
> --- a/drivers/bluetooth/btmtkuart.c
> +++ b/drivers/bluetooth/btmtkuart.c
> @@ -144,8 +144,10 @@ static int mtk_setup_fw(struct hci_dev *hdev)
> fw_size = fw->size;
>
> /* The size of patch header is 30 bytes, should be skip */
> - if (fw_size < 30)
> - return -EINVAL;
> + if (fw_size < 30) {
> + err = -EINVAL;
> + goto free_fw;
> + }
>
> fw_size -= 30;
> fw_ptr += 30;
> @@ -172,8 +174,8 @@ static int mtk_setup_fw(struct hci_dev *hdev)
> fw_ptr += dlen;
> }
>
> +free_fw:
> release_firmware(fw);
> -
> return err;
> }
>



2018-08-14 19:00:46

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: mediatek: Fix memory leak



On 8/14/18 1:45 PM, Sean Wang wrote:
> Hi, Gustavo
>
> thanks for the catch up

Glad to help. :)

>
> Acked-by: Sean Wang <[email protected]>
>

Thanks
--
Gustavo


2018-08-21 14:59:03

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: mediatek: Fix memory leak

Hi Gustavo,

> In case memory resources for *fw* were allocated, release them before
> return.
>
> Addresses-Coverity-ID: 1472611 ("Resource leak")
> Fixes: 7237c4c9ec92 ("Bluetooth: mediatek: Add protocol support for MediaTek serial devices")
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> drivers/bluetooth/btmtkuart.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)

patch has been applied to bluetooth-stable tree.

Regards

Marcel