From: Thomas Weißschuh Date: Sun, 24 Aug 2025 09:45:45 +0000 (+0200) Subject: sfdisk: reject spurious arguments for --reorder/--backup-pt-sectors X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c98bdcc1f9b13de8a9d54d034efea789978c1f9;p=thirdparty%2Futil-linux.git sfdisk: reject spurious arguments for --reorder/--backup-pt-sectors These commands only accept a single device argument. Reject any additional unexpected arguments. Signed-off-by: Thomas Weißschuh --- diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c index ad9bbb3cf..b754916ef 100644 --- a/disk-utils/sfdisk.c +++ b/disk-utils/sfdisk.c @@ -1025,13 +1025,14 @@ static int command_delete(struct sfdisk *sf, int argc, char **argv) */ static int command_reorder(struct sfdisk *sf, int argc, char **argv) { - const char *devname = NULL; + const char *devname; int rc; - if (argc) - devname = argv[0]; - if (!devname) + if (!argc) errx(EXIT_FAILURE, _("no disk device specified")); + devname = argv[0]; + if (argc > 1) + errx(EXIT_FAILURE, _("unexpected arguments")); assign_device(sf, devname, 0); /* read-write */ @@ -1049,14 +1050,15 @@ static int command_reorder(struct sfdisk *sf, int argc, char **argv) */ static int command_dump(struct sfdisk *sf, int argc, char **argv) { - const char *devname = NULL; struct fdisk_script *dp; + const char *devname; int rc; - if (argc) - devname = argv[0]; - if (!devname) + if (!argc) errx(EXIT_FAILURE, _("no disk device specified")); + devname = argv[0]; + if (argc > 1) + errx(EXIT_FAILURE, _("unexpected arguments")); assign_device(sf, devname, 1); /* read-only */ @@ -1085,12 +1087,13 @@ static int command_dump(struct sfdisk *sf, int argc, char **argv) */ static int command_backup_sectors(struct sfdisk *sf, int argc, char **argv) { - const char *devname = NULL; + const char *devname; - if (argc) - devname = argv[0]; - if (!devname) + if (!argc) errx(EXIT_FAILURE, _("no disk device specified")); + devname = argv[0]; + if (argc > 1) + errx(EXIT_FAILURE, _("unexpected arguments")); assign_device(sf, devname, 1); /* read-only */