Hello,

Function rdioctl() uses a goto to leave the switch statement
but a break would be enough. There is no other code to jump over
(avoid) as with rdstrategy() which has goto bad and goto done.

- Michael


Index: rd.c
===================================================================
RCS file: /cvs/src/sys/dev/rd.c,v
retrieving revision 1.13
diff -u -p -u -r1.13 rd.c
--- rd.c        30 Dec 2017 23:08:29 -0000      1.13
+++ rd.c        29 Jan 2018 03:52:56 -0000
@@ -266,31 +266,31 @@ rdioctl(dev_t dev, u_long cmd, caddr_t d
                rdgetdisklabel(dev, sc, lp, 0);
                memcpy(sc->sc_dk.dk_label, lp, sizeof(*lp));
                free(lp, M_TEMP, sizeof(*lp));
-               goto done;
+               break;
 
        case DIOCGPDINFO:
                rdgetdisklabel(dev, sc, (struct disklabel *)data, 1);
-               goto done;
+               break;
 
        case DIOCGDINFO:
                *(struct disklabel *)data = *(sc->sc_dk.dk_label);
-               goto done;
+               break;
 
        case DIOCGPART:
                ((struct partinfo *)data)->disklab = sc->sc_dk.dk_label;
                ((struct partinfo *)data)->part =
                    &sc->sc_dk.dk_label->d_partitions[DISKPART(dev)];
-               goto done;
+               break;
 
        case DIOCWDINFO:
        case DIOCSDINFO:
                if ((fflag & FWRITE) == 0) {
                        error = EBADF;
-                       goto done;
+                       break;
                }
 
                if ((error = disk_lock(&sc->sc_dk)) != 0)
-                       goto done;
+                       break;
 
                error = setdisklabel(sc->sc_dk.dk_label,
                    (struct disklabel *)data, sc->sc_dk.dk_openmask);
@@ -301,10 +301,9 @@ rdioctl(dev_t dev, u_long cmd, caddr_t d
                }
 
                disk_unlock(&sc->sc_dk);
-               goto done;
+               break;
        }
 
- done:
        device_unref(&sc->sc_dev);
        return (error);
 }

Reply via email to