diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2016-02-25 22:44:31 +0100 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2016-02-25 23:29:57 +0100 |
commit | a68e601886e1c9b78345b4c33ce366451e2fe184 (patch) | |
tree | ee85090b95495401e240e0bd7e64ca7b47d5b130 /tools/lvresize.c | |
parent | 172bad0d5679f6152281cdd3a69e2cf0a3288c1e (diff) | |
download | lvm2-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.c | 10 |
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); |