2014-07-14 20:34:24

by Himangi Saraogi

[permalink] [raw]
Subject: [PATCH] Bluetooth: cmtp: Remove unnecessary null test

This patch removes the null test on ctrl. ctrl is initialized at the
beginning of the function to &session->ctrl. Since session is
dereferenced prior to the null test, session must be a valid pointer,
and &session->ctrl cannot be null.

The following Coccinelle script is used for detecting the change:

@r@
expression e,f;
identifier g,y;
statement S1,S2;
@@

*e = &f->g
<+...
f->y
...+>
*if (e != NULL || ...)
S1 else S2

Signed-off-by: Himangi Saraogi <[email protected]>
Acked-by: Julia Lawall <[email protected]>
---
net/bluetooth/cmtp/capi.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/net/bluetooth/cmtp/capi.c b/net/bluetooth/cmtp/capi.c
index cd75e4d..1ca8a87 100644
--- a/net/bluetooth/cmtp/capi.c
+++ b/net/bluetooth/cmtp/capi.c
@@ -362,12 +362,6 @@ void cmtp_recv_capimsg(struct cmtp_session *session, struct sk_buff *skb)
CAPIMSG_SETCONTROL(skb->data, contr);
}

- if (!ctrl) {
- BT_ERR("Can't find controller %d for message", session->num);
- kfree_skb(skb);
- return;
- }
-
capi_ctr_handle_message(ctrl, appl, skb);
}

--
1.9.1


2014-07-14 21:02:22

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: cmtp: Remove unnecessary null test

Hi Himangi,

> This patch removes the null test on ctrl. ctrl is initialized at the
> beginning of the function to &session->ctrl. Since session is
> dereferenced prior to the null test, session must be a valid pointer,
> and &session->ctrl cannot be null.
>
> The following Coccinelle script is used for detecting the change:
>
> @r@
> expression e,f;
> identifier g,y;
> statement S1,S2;
> @@
>
> *e = &f->g
> <+...
> f->y
> ...+>
> *if (e != NULL || ...)
> S1 else S2
>
> Signed-off-by: Himangi Saraogi <[email protected]>
> Acked-by: Julia Lawall <[email protected]>
> ---
> net/bluetooth/cmtp/capi.c | 6 ------
> 1 file changed, 6 deletions(-)

patch has been applied to bluetooth-next tree.

Regards

Marcel