If a partition both starts and ends beyond the end of the unit
authorkrw <krw@openbsd.org>
Wed, 31 Aug 2022 08:35:07 +0000 (08:35 +0000)
committerkrw <krw@openbsd.org>
Wed, 31 Aug 2022 08:35:07 +0000 (08:35 +0000)
only warn about the start.

ok millert@

sbin/disklabel/disklabel.c

index 2a9cf70..a95a10e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: disklabel.c,v 1.241 2022/07/31 14:29:19 krw Exp $     */
+/*     $OpenBSD: disklabel.c,v 1.242 2022/08/31 08:35:07 krw Exp $     */
 
 /*
  * Copyright (c) 1987, 1993
@@ -1126,9 +1126,9 @@ checklabel(struct disklabel *lp)
                if (DL_GETPOFFSET(pp) > DL_GETDSIZE(lp)) {
                        warnx("partition %c: offset past end of unit", part);
                        errors++;
-               }
-               if (DL_GETPOFFSET(pp) + DL_GETPSIZE(pp) > DL_GETDSIZE(lp)) {
-                       warnx("partition %c: partition extends past end of unit",
+               } else if (DL_GETPOFFSET(pp) + DL_GETPSIZE(pp) >
+                   DL_GETDSIZE(lp)) {
+                       warnx("partition %c: extends past end of unit",
                            part);
                        errors++;
                }