Staging: comedi: Move a dereference below a NULL test
authorJulia Lawall <julia@diku.dk>
Fri, 26 Dec 2008 07:28:58 +0000 (08:28 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Apr 2009 21:53:41 +0000 (14:53 -0700)
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>
@disable is_null@
identifier f;
expression E;
identifier fld;
statement S;
@@

+ if (E == NULL) S
  f(...,E->fld,...);
- if (E == NULL) S

@@
identifier f;
expression E;
identifier fld;
statement S;
@@

+ if (!E) S
  f(...,E->fld,...);
- if (!E) S
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/comedi/drivers/usbduxfast.c

index 3ad3a08..cc42d7a 100644 (file)
@@ -1675,15 +1675,15 @@ static int usbduxfast_detach(comedi_device * dev)
 {
        usbduxfastsub_t *usbduxfastsub_tmp;
 
-#ifdef CONFIG_COMEDI_DEBUG
-       printk("comedi%d: usbduxfast: detach usb device\n", dev->minor);
-#endif
-
        if (!dev) {
                printk("comedi?: usbduxfast: detach without dev variable...\n");
                return -EFAULT;
        }
 
+#ifdef CONFIG_COMEDI_DEBUG
+       printk("comedi%d: usbduxfast: detach usb device\n", dev->minor);
+#endif
+
        usbduxfastsub_tmp = dev->private;
        if (!usbduxfastsub_tmp) {
                printk("comedi?: usbduxfast: detach without ptr to usbduxfastsub[]\n");