From: Karel Zak Date: Mon, 16 Sep 2013 15:04:57 +0000 (+0200) Subject: fdisk: fix -l X-Git-Tag: v2.24-rc1~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d31d3fc74a836f3298f7a188b3ab838103dacb1e;p=thirdparty%2Futil-linux.git fdisk: fix -l Signed-off-by: Karel Zak --- diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c index 8bd6c4edb0..368c89ed08 100644 --- a/fdisks/fdisk.c +++ b/fdisks/fdisk.c @@ -348,13 +348,18 @@ static void print_all_devices_pt(struct fdisk_context *cxt) return; } + DBG(FRONTEND, dbgprint("reading "_PATH_PROC_PARTITIONS)); + while (fgets(line, sizeof(line), f)) { char ptname[128 + 1], devname[256]; - if (sscanf(line, " %*d %*d %*d %128[^\n ]", ptname) != 4) + if (sscanf(line, " %*d %*d %*d %128[^\n ]", ptname) != 1) continue; snprintf(devname, sizeof(devname), "/dev/%s", ptname); + + DBG(FRONTEND, dbgprint("listing %s", devname)); + if (is_whole_disk(devname)) { char *cn = canonicalize_path(devname); if (cn) { diff --git a/libfdisk/src/label.c b/libfdisk/src/label.c index 95a0abfb95..aba2790cc8 100644 --- a/libfdisk/src/label.c +++ b/libfdisk/src/label.c @@ -83,9 +83,9 @@ int fdisk_write_disklabel(struct fdisk_context *cxt) int fdisk_require_geometry(struct fdisk_context *cxt) { assert(cxt); - assert(cxt->label); - return cxt->label->flags & FDISK_LABEL_FL_REQUIRE_GEOMETRY ? 1 : 0; + return cxt->label + && cxt->label->flags & FDISK_LABEL_FL_REQUIRE_GEOMETRY ? 1 : 0; } int fdisk_missing_geometry(struct fdisk_context *cxt) @@ -93,7 +93,6 @@ int fdisk_missing_geometry(struct fdisk_context *cxt) int rc; assert(cxt); - assert(cxt->label); rc = (fdisk_require_geometry(cxt) && (!cxt->geom.heads || !cxt->geom.sectors