]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
fdisk: check return and robust label usage [coverity scan]
authorKarel Zak <kzak@redhat.com>
Wed, 28 Jan 2015 13:40:10 +0000 (14:40 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 28 Jan 2015 13:40:10 +0000 (14:40 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
disk-utils/fdisk-menu.c
disk-utils/fdisk.c

index 64e7ba1446593e37c97870e49cb8ff530b847459..a77a13f80d0d7c82e494d23d83dbe57035d2b5ff 100644 (file)
@@ -257,7 +257,8 @@ static const struct menu_entry *next_menu_entry(
 
        assert(cxt);
 
-       type = fdisk_label_get_type(lb);
+       if (lb)
+               type = fdisk_label_get_type(lb);
        if (parent)
                pr_type = fdisk_label_get_type(fdisk_get_label(parent, NULL));
 
index 8807940eca1b7527e678700399373b05e0b0f239..8a0bfd575d1a6c0de9fff6d01d102170a9edc1ac 100644 (file)
@@ -107,7 +107,7 @@ static int ask_menu(struct fdisk_context *cxt, struct fdisk_ask *ask,
 
        do {
                char prompt[128];
-               int key, c;
+               int key, c, rc;
                const char *name, *desc;
                size_t i = 0;
 
@@ -117,7 +117,9 @@ static int ask_menu(struct fdisk_context *cxt, struct fdisk_ask *ask,
 
                /* ask for key */
                snprintf(prompt, sizeof(prompt), _("Select (default %c): "), dft);
-               get_user_reply(cxt, prompt, buf, bufsz);
+               rc = get_user_reply(cxt, prompt, buf, bufsz);
+               if (rc)
+                       return rc;
                if (!*buf) {
                        fdisk_info(cxt, _("Using default response %c."), dft);
                        c = dft;