diff options
Diffstat (limited to 'libfdisk')
-rw-r--r-- | libfdisk/src/ask.c | 4 | ||||
-rw-r--r-- | libfdisk/src/label.c | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/libfdisk/src/ask.c b/libfdisk/src/ask.c index 7e0c3c218..d81ebd76a 100644 --- a/libfdisk/src/ask.c +++ b/libfdisk/src/ask.c @@ -432,9 +432,9 @@ int fdisk_ask_partnum(struct fdisk_context *cxt, size_t *partnum, int wantnew) DBG(ASK, ul_debug("%s: asking for %s partition number " "(max: %zu, inchar: %s)", - cxt->label->name, + cxt->label ? cxt->label->name : "???", wantnew ? "new" : "used", - cxt->label->nparts_max, + cxt->label ? cxt->label->nparts_max : 0, inchar ? "yes" : "not")); ask = fdisk_new_ask(); diff --git a/libfdisk/src/label.c b/libfdisk/src/label.c index d3009f5cb..30d0e526f 100644 --- a/libfdisk/src/label.c +++ b/libfdisk/src/label.c @@ -416,12 +416,13 @@ int fdisk_create_disklabel(struct fdisk_context *cxt, const char *name) return -ENOSYS; __fdisk_switch_label(cxt, lb); + assert(cxt->label == lb); if (haslabel && !cxt->parent) fdisk_reset_device_properties(cxt); DBG(CXT, ul_debugobj(cxt, "create a new %s label", lb->name)); - return cxt->label->op->create(cxt); + return lb->op->create(cxt); } /** |