can: raw: raw_getsockopt(): reduce scope of err
authorMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 20 Feb 2024 08:16:16 +0000 (09:16 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 20 Feb 2024 08:40:46 +0000 (09:40 +0100)
Reduce the scope of the variable "err" to the individual cases. This
is to avoid the mistake of setting "err" in the mistaken belief that
it will be evaluated later.

Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Link: https://lore.kernel.org/all/20240220-raw-setsockopt-v1-1-7d34cb1377fc@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/raw.c

index 897ffc17d850670003e5cf3402477e8fc201f61e..00533f64d69d52a7bb55999444c09967d5d753c9 100644 (file)
@@ -756,7 +756,6 @@ static int raw_getsockopt(struct socket *sock, int level, int optname,
        struct raw_sock *ro = raw_sk(sk);
        int len;
        void *val;
-       int err = 0;
 
        if (level != SOL_CAN_RAW)
                return -EINVAL;
@@ -766,7 +765,9 @@ static int raw_getsockopt(struct socket *sock, int level, int optname,
                return -EINVAL;
 
        switch (optname) {
-       case CAN_RAW_FILTER:
+       case CAN_RAW_FILTER: {
+               int err = 0;
+
                lock_sock(sk);
                if (ro->count > 0) {
                        int fsize = ro->count * sizeof(struct can_filter);
@@ -791,7 +792,7 @@ static int raw_getsockopt(struct socket *sock, int level, int optname,
                if (!err)
                        err = put_user(len, optlen);
                return err;
-
+       }
        case CAN_RAW_ERR_FILTER:
                if (len > sizeof(can_err_mask_t))
                        len = sizeof(can_err_mask_t);
@@ -822,7 +823,9 @@ static int raw_getsockopt(struct socket *sock, int level, int optname,
                val = &ro->xl_frames;
                break;
 
-       case CAN_RAW_XL_VCID_OPTS:
+       case CAN_RAW_XL_VCID_OPTS: {
+               int err = 0;
+
                /* user space buffer to small for VCID opts? */
                if (len < sizeof(ro->raw_vcid_opts)) {
                        /* return -ERANGE and needed space in optlen */
@@ -838,7 +841,7 @@ static int raw_getsockopt(struct socket *sock, int level, int optname,
                if (!err)
                        err = put_user(len, optlen);
                return err;
-
+       }
        case CAN_RAW_JOIN_FILTERS:
                if (len > sizeof(int))
                        len = sizeof(int);