git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mkfs-b: Check that blocksize parameter is > 0 and a power of 2.
[libguestfs.git]
/
daemon
/
mkfs.c
diff --git
a/daemon/mkfs.c
b/daemon/mkfs.c
index
ba245b3
..
2c3a3cd
100644
(file)
--- a/
daemon/mkfs.c
+++ b/
daemon/mkfs.c
@@
-40,7
+40,7
@@
mkfs (const char *fstype, const char *device,
int r;
char *err;
int r;
char *err;
- argv[i++] = "
/sbin/
mkfs";
+ argv[i++] = "mkfs";
argv[i++] = "-t";
argv[i++] = fstype;
argv[i++] = "-t";
argv[i++] = fstype;
@@
-83,7
+83,7
@@
mkfs (const char *fstype, const char *device,
r = commandv (NULL, &err, argv);
if (r == -1) {
r = commandv (NULL, &err, argv);
if (r == -1) {
- reply_with_error ("
mkfs:
%s: %s: %s", fstype, device, err);
+ reply_with_error ("%s: %s: %s", fstype, device, err);
free (err);
return -1;
}
free (err);
return -1;
}
@@
-104,6
+104,11
@@
do_mkfs_b (const char *fstype, int blocksize, const char *device)
const char *extra[2];
char blocksize_s[32];
const char *extra[2];
char blocksize_s[32];
+ if (blocksize <= 0 || !is_power_of_2 (blocksize)) {
+ reply_with_error ("block size must be > 0 and a power of 2");
+ return -1;
+ }
+
snprintf (blocksize_s, sizeof blocksize_s, "%d", blocksize);
extra[0] = "-b";
snprintf (blocksize_s, sizeof blocksize_s, "%d", blocksize);
extra[0] = "-b";