diff options
author | Dongsheng Yang <yangds.fnst@cn.fujitsu.com> | 2015-06-03 17:27:03 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2015-06-05 18:40:32 +0200 |
commit | d9fd7cc0f554b88a8c878a36ed096347c98bba7f (patch) | |
tree | 1222a9d0aa8b65ea0f7e833b38fe70021fbf857d | |
parent | ea496435d5f9eb97681bcd69ff012917b2a3b201 (diff) | |
download | btrfs-progs-d9fd7cc0f554b88a8c878a36ed096347c98bba7f.tar.gz |
btrfs-progs: qgroup limit: error out if input value is negative
If we pass a negative value to command qgroup limit, btrfs-progs
would convert it to unsigned long long silently. That's a little
confusing to user, why I can limit my quota to a negative value.
This patch add a check in parse_limit, if the input value is negative,
error out to user.
Reported-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
-rw-r--r-- | cmds-qgroup.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cmds-qgroup.c b/cmds-qgroup.c index 00cc089..5ea4021 100644 --- a/cmds-qgroup.c +++ b/cmds-qgroup.c @@ -116,6 +116,10 @@ static int parse_limit(const char *p, unsigned long long *s) *s = CLEAR_VALUE; return 1; } + + if (p[0] == '-') + return 0; + size = strtoull(p, &endptr, 10); switch (*endptr) { case 'T': |