staging:iio:impedance:ad5933: correct error check
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 1 Jan 2014 13:07:00 +0000 (13:07 +0000)
committerJonathan Cameron <jic23@kernel.org>
Wed, 1 Jan 2014 12:19:17 +0000 (12:19 +0000)
iio_kfifo_allocate returns NULL in case of error.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression *x;
identifier f;
statement S1,S2;
@@

*x = f(...);
 if (x) { <+... when != if (...) S1 else S2
     -ENOMEM ...+> }
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
cc: stable@vger.kernel.org

drivers/staging/iio/impedance-analyzer/ad5933.c

index 0a4298b..2b96665 100644 (file)
@@ -629,7 +629,7 @@ static int ad5933_register_ring_funcs_and_init(struct iio_dev *indio_dev)
        struct iio_buffer *buffer;
 
        buffer = iio_kfifo_allocate(indio_dev);
-       if (buffer)
+       if (!buffer)
                return -ENOMEM;
 
        iio_device_attach_buffer(indio_dev, buffer);