diff mbox

[1/2] nfc: st21nfca: Check for devm_kzalloc() failure

Message ID 1521899099-23634-1-git-send-email-festevam@gmail.com (mailing list archive)
State Accepted
Delegated to: Samuel Ortiz
Headers show

Commit Message

Fabio Estevam March 24, 2018, 1:44 p.m. UTC
From: Fabio Estevam <fabio.estevam@nxp.com>

devm_kzalloc() may fail, so we should better check for error and
propagate the error in the case of allocation failure.

This avoids a potential NULL pointer dereference later on.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
 drivers/nfc/st21nfca/se.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Fabio Estevam April 23, 2018, 11:50 a.m. UTC | #1
Hi Samuel,

Maybe this patch series got forgotten?



On Sat, Mar 24, 2018 at 10:44 AM, Fabio Estevam <festevam@gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam@nxp.com>
>
> devm_kzalloc() may fail, so we should better check for error and
> propagate the error in the case of allocation failure.
>
> This avoids a potential NULL pointer dereference later on.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
> ---
>  drivers/nfc/st21nfca/se.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/nfc/st21nfca/se.c b/drivers/nfc/st21nfca/se.c
> index 4bed9e84..fd967a3 100644
> --- a/drivers/nfc/st21nfca/se.c
> +++ b/drivers/nfc/st21nfca/se.c
> @@ -328,6 +328,8 @@ int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,
>
>                 transaction = (struct nfc_evt_transaction *)devm_kzalloc(dev,
>                                                    skb->len - 2, GFP_KERNEL);
> +               if (!transaction)
> +                       return -ENOMEM;
>
>                 transaction->aid_len = skb->data[1];
>                 memcpy(transaction->aid, &skb->data[2],
> --
> 2.7.4
>
Samuel Ortiz June 4, 2018, 4:26 a.m. UTC | #2
Hi Fabio,

On Mon, Apr 23, 2018 at 08:50:04AM -0300, Fabio Estevam wrote:
> Hi Samuel,
> 
> Maybe this patch series got forgotten?
Both patches applied to nfc-next, sorry for the lag.

Cheers,
Samuel.
diff mbox

Patch

diff --git a/drivers/nfc/st21nfca/se.c b/drivers/nfc/st21nfca/se.c
index 4bed9e84..fd967a3 100644
--- a/drivers/nfc/st21nfca/se.c
+++ b/drivers/nfc/st21nfca/se.c
@@ -328,6 +328,8 @@  int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,
 
 		transaction = (struct nfc_evt_transaction *)devm_kzalloc(dev,
 						   skb->len - 2, GFP_KERNEL);
+		if (!transaction)
+			return -ENOMEM;
 
 		transaction->aid_len = skb->data[1];
 		memcpy(transaction->aid, &skb->data[2],