The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=e96d0d7468446d7cabd76ae213889297711bb144

commit e96d0d7468446d7cabd76ae213889297711bb144
Author:     Ricardo Branco <[email protected]>
AuthorDate: 2024-04-22 22:08:58 +0000
Commit:     Warner Losh <[email protected]>
CommitDate: 2024-04-23 04:36:35 +0000

    umount: Support partitions & slices with -d option
    
    Signed-off-by: Ricardo Branco <[email protected]>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1183
---
 sbin/umount/umount.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/sbin/umount/umount.c b/sbin/umount/umount.c
index 5314f8e0c56f..c15fd13d065a 100644
--- a/sbin/umount/umount.c
+++ b/sbin/umount/umount.c
@@ -673,19 +673,17 @@ md_detach(const char *device)
        char *eptr;
        int fd;
 
-       memset(&mdio, 0, sizeof(mdio));
-
-       mdio.md_version = MDIOVERSION;
-       mdio.md_options = fflag ? MD_FORCE : 0;
-
        if (strncmp(device, DEV_MD, sizeof(DEV_MD) - 1)) {
                if (!all)
                        warnx("invalid md device: %s", device);
                return (-1);
        }
 
+       memset(&mdio, 0, sizeof(mdio));
+       mdio.md_version = MDIOVERSION;
+       mdio.md_options = fflag ? MD_FORCE : 0;
        mdio.md_unit = strtoul(device + sizeof(DEV_MD) - 1, &eptr, 0);
-       if (mdio.md_unit == (unsigned)ULONG_MAX || *eptr != '\0') {
+       if (mdio.md_unit == (unsigned)ULONG_MAX || eptr - device == 
sizeof(DEV_MD) - 1) {
                warnx("invalid md device: %s", device);
                return (-1);
        }

Reply via email to