X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fblockdev.c;h=1afb4b8d13723cc684b8444f0cb4660c111ca557;hb=2ba2ddf2113db7bb2afe3f739dc3cbaa5416a4ba;hp=1aa6eaa20afa18c0b7ab55de8e5a9901f23c52d1;hpb=29e7b9908ea6a4c2a864955e73d5b1d7d64f1fc8;p=libguestfs.git diff --git a/daemon/blockdev.c b/daemon/blockdev.c index 1aa6eaa..1afb4b8 100644 --- a/daemon/blockdev.c +++ b/daemon/blockdev.c @@ -38,7 +38,7 @@ call_blockdev (const char *device, const char *switc, int extraarg, int prints) int64_t rv; char *out, *err; const char *argv[] = { - "/sbin/blockdev", + "blockdev", switc, NULL, NULL, @@ -53,7 +53,7 @@ call_blockdev (const char *device, const char *switc, int extraarg, int prints) } else argv[2] = device; - r = commandv (&out, &err, (char **) argv); + r = commandv (&out, &err, argv); if (r == -1) { reply_with_error ("%s: %s", argv[0], err); @@ -68,11 +68,13 @@ call_blockdev (const char *device, const char *switc, int extraarg, int prints) if (sscanf (out, "%" SCNi64, &rv) != 1) { reply_with_error ("%s: expected output, but got nothing", argv[0]); free (out); + free (err); return -1; } } free (out); + free (err); return rv; } @@ -111,7 +113,7 @@ int do_blockdev_setbsz (const char *device, int blocksize) { if (blocksize <= 0 /* || blocksize >= what? */) { - reply_with_error ("blockdev_setbsz: blocksize must be > 0"); + reply_with_error ("blocksize must be > 0"); return -1; } return (int) call_blockdev (device, "--setbsz", blocksize, 0);