lkml.org 
[lkml]   [2019]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] iio: cros_ec_accel_legacy: Mark expected switch fall-throughs
    On Mon, Oct 8, 2018 at 10:24 AM Gustavo A. R. Silva
    <gustavo@embeddedor.com> wrote:
    >
    > In preparation to enabling -Wimplicit-fallthrough, mark switch cases
    > where we are expecting to fall through.
    >
    > Addresses-Coverity-ID: 1397962 ("Missing break in switch")
    > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    > ---
    > drivers/iio/accel/cros_ec_accel_legacy.c | 2 ++
    > 1 file changed, 2 insertions(+)
    >
    > diff --git a/drivers/iio/accel/cros_ec_accel_legacy.c b/drivers/iio/accel/cros_ec_accel_legacy.c
    > index 063e89e..d609654 100644
    > --- a/drivers/iio/accel/cros_ec_accel_legacy.c
    > +++ b/drivers/iio/accel/cros_ec_accel_legacy.c
    > @@ -385,8 +385,10 @@ static int cros_ec_accel_legacy_probe(struct platform_device *pdev)
    > switch (i) {
    > case X:
    > ec_accel_channels[X].scan_index = Y;
    > + /* fall through */
    > case Y:
    > ec_accel_channels[Y].scan_index = X;
    > + /* fall through */
    > case Z:
    > ec_accel_channels[Z].scan_index = Z;
    > }

    Shouldn't these actually be "break;"s ? It seems like the loop is
    stepping through X, Y, and Z. The _result_ is accidentally the same:

    X: set X, Y, and Z
    Y: set Y and Z
    Z: set Z

    result: X, Y, and Z are set correctly. But the code is technically wrong.


    --
    Kees Cook

    \
     
     \ /
      Last update: 2019-02-20 19:21    [W:3.935 / U:0.488 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site