[PATCH 5/5] staging/otus: Move a dereference below a NULL test

From: Julia Lawall
Date: Sat Jul 11 2009 - 03:52:24 EST


From: Julia Lawall <julia@xxxxxxx>

If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T;
expression E;
identifier i,fld;
statement S;
@@

- T i = E->fld;
+ T i;
... when != E
when != i
if (E == NULL) S
+ i = E->fld;
// </smpl>

Signed-off-by: Julia Lawall <julia@xxxxxxx>

---
drivers/staging/otus/wwrap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff -u -p a/drivers/staging/otus/wwrap.c b/drivers/staging/otus/wwrap.c
--- a/drivers/staging/otus/wwrap.c
+++ b/drivers/staging/otus/wwrap.c
@@ -1016,12 +1016,13 @@ void kevent(struct work_struct *work)
{
struct usbdrv_private *macp =
container_of(work, struct usbdrv_private, kevent);
- zdev_t *dev = macp->device;
+ zdev_t *dev;

if (macp == NULL)
{
return;
}
+ dev = macp->device;

if (test_and_set_bit(0, (void *)&smp_kevent_Lock))
{
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/