X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fblockdev.c;h=1afb4b8d13723cc684b8444f0cb4660c111ca557;hp=e0ac350213c921e7d5ed36ee31f77916a3614df3;hb=7f16c346bbeba2f2fe3c31ccb85158178a284d84;hpb=adf20c0c4d9f488d55254f54a79079b9cacbde8d diff --git a/daemon/blockdev.c b/daemon/blockdev.c index e0ac350..1afb4b8 100644 --- a/daemon/blockdev.c +++ b/daemon/blockdev.c @@ -32,13 +32,13 @@ * we centralize it in one call. */ static int64_t -call_blockdev (const char *device, char *switc, int extraarg, int prints) +call_blockdev (const char *device, const char *switc, int extraarg, int prints) { int r; int64_t rv; char *out, *err; const char *argv[] = { - "/sbin/blockdev", + "blockdev", switc, NULL, NULL, @@ -53,7 +53,7 @@ call_blockdev (const char *device, 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, 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);