2014-04-02 07:55:35

by Daeseok Youn

[permalink] [raw]
Subject: [PATCH 1/2] nfc: fix NULL pointer dereference


dev is NULL when nfc_get_device() is failed but
dev is used for handling error.

coccicheck says:
net/nfc/netlink.c:1092:21-24: ERROR:
dev is NULL but dereferenced.

Signed-off-by: Daeseok Youn <[email protected]>
---
net/nfc/netlink.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c
index 43cb1c1..b2ad570 100644
--- a/net/nfc/netlink.c
+++ b/net/nfc/netlink.c
@@ -1026,10 +1026,8 @@ static int nfc_genl_llc_sdreq(struct sk_buff *skb, struct genl_info *info)
idx = nla_get_u32(info->attrs[NFC_ATTR_DEVICE_INDEX]);

dev = nfc_get_device(idx);
- if (!dev) {
- rc = -ENODEV;
- goto exit;
- }
+ if (!dev)
+ return -ENODEV;

device_lock(&dev->dev);

--
1.7.4.4




2014-04-14 02:19:41

by Daeseok Youn

[permalink] [raw]
Subject: Re: [PATCH 1/2] nfc: fix NULL pointer dereference

Hi,

Can you review this patch?

Thanks.
Daeseok Youn

2014-04-02 16:55 GMT+09:00 Daeseok Youn <[email protected]>:
>
> dev is NULL when nfc_get_device() is failed but
> dev is used for handling error.
>
> coccicheck says:
> net/nfc/netlink.c:1092:21-24: ERROR:
> dev is NULL but dereferenced.
>
> Signed-off-by: Daeseok Youn <[email protected]>
> ---
> net/nfc/netlink.c | 6 ++----
> 1 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c
> index 43cb1c1..b2ad570 100644
> --- a/net/nfc/netlink.c
> +++ b/net/nfc/netlink.c
> @@ -1026,10 +1026,8 @@ static int nfc_genl_llc_sdreq(struct sk_buff *skb, struct genl_info *info)
> idx = nla_get_u32(info->attrs[NFC_ATTR_DEVICE_INDEX]);
>
> dev = nfc_get_device(idx);
> - if (!dev) {
> - rc = -ENODEV;
> - goto exit;
> - }
> + if (!dev)
> + return -ENODEV;
>
> device_lock(&dev->dev);
>
> --
> 1.7.4.4
>
>