summaryrefslogtreecommitdiff
path: root/tools/lvresize.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2016-02-25 22:44:31 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2016-02-25 23:29:57 +0100
commita68e601886e1c9b78345b4c33ce366451e2fe184 (patch)
treeee85090b95495401e240e0bd7e64ca7b47d5b130 /tools/lvresize.c
parent172bad0d5679f6152281cdd3a69e2cf0a3288c1e (diff)
downloadlvm2-a68e601886e1c9b78345b4c33ce366451e2fe184.tar.gz
lvresize: fix regression with zero size arg
Commit ca878a3426197b629c76e98cfc049948da470cd7 introduced an issue that zero sized extesion suddenly started to be accepted and missed to return error. Properly check invalid input values for sizes.
Diffstat (limited to 'tools/lvresize.c')
-rw-r--r--tools/lvresize.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/lvresize.c b/tools/lvresize.c
index 2c2df366c..a35a03d99 100644
--- a/tools/lvresize.c
+++ b/tools/lvresize.c
@@ -47,6 +47,16 @@ static int _lvresize_params(struct cmd_context *cmd, int argc, char **argv,
*/
lp->sizeargs = arg_count(cmd, extents_ARG) + arg_count(cmd, size_ARG);
+ if (arg_from_list_is_zero(cmd, "may not be zero",
+ chunksize_ARG, extents_ARG,
+ poolmetadatasize_ARG,
+ regionsize_ARG,
+ size_ARG,
+ stripes_ARG, stripesize_ARG,
+ virtualsize_ARG,
+ -1))
+ return_0;
+
if (arg_count(cmd, poolmetadatasize_ARG)) {
lp->poolmetadatasize = arg_uint64_value(cmd, poolmetadatasize_ARG, 0);
lp->poolmetadatasign = arg_sign_value(cmd, poolmetadatasize_ARG, SIGN_NONE);