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 <[email protected]>
Signed-off-by: Dongsheng Yang <[email protected]>
---
 cmds-qgroup.c | 4 ++++
 1 file changed, 4 insertions(+)

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':
-- 
1.8.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to