X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fparted.c;h=b9b138e3d02acd417882ca977ebff3611cfb7f89;hb=2f73ea343cc4a3433f20e99a7835152767a70f80;hp=89cc0d69c1fc718c8faad6aa853fa1e6bf9bad12;hpb=4f6bd18d2e2a9c1d317a07b59072579d8fff42ac;p=libguestfs.git diff --git a/daemon/parted.c b/daemon/parted.c index 89cc0d6..b9b138e 100644 --- a/daemon/parted.c +++ b/daemon/parted.c @@ -1,5 +1,5 @@ /* libguestfs - the guestfsd daemon - * Copyright (C) 2009 Red Hat Inc. + * Copyright (C) 2009-2011 Red Hat Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -287,9 +287,6 @@ test_parted_m_opt (void) if (result >= 0) return result; - if (verbose) - fprintf (stderr, "Testing if this parted supports '-m' option.\n"); - char *err = NULL; int r = commandr (NULL, &err, "parted", "-s", "-m", "/dev/null", NULL); if (r == -1) { @@ -328,9 +325,6 @@ print_partition_table (const char *device, int parted_has_m_opt) } free (err); - if (verbose) - fprintf (stderr, "parted output:\n%s\n", out); - return out; } @@ -378,6 +372,14 @@ do_part_get_parttype (const char *device) } free_strings (lines); + + /* If "loop" return an error (RHBZ#634246). */ + if (STREQ (r, "loop")) { + free (r); + reply_with_error ("not a partitioned device"); + return NULL; + } + return r; } else { @@ -406,6 +408,13 @@ do_part_get_parttype (const char *device) return NULL; } + /* If "loop" return an error (RHBZ#634246). */ + if (STREQ (p, "loop")) { + free (p); + reply_with_error ("not a partitioned device"); + return NULL; + } + return p; /* caller frees */ } }