X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fblockdev.c;h=d056abef1739de7b9e9aab118c138bae403e11e5;hb=7d3848ddc046f79cc1112809bd9970eea8060018;hp=e0ac350213c921e7d5ed36ee31f77916a3614df3;hpb=adf20c0c4d9f488d55254f54a79079b9cacbde8d;p=libguestfs.git diff --git a/daemon/blockdev.c b/daemon/blockdev.c index e0ac350..d056abe 100644 --- a/daemon/blockdev.c +++ b/daemon/blockdev.c @@ -13,7 +13,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include @@ -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);