[PATCH v2] btrfs-progs: Fix number of arguments check of 'btrfs fi df'
(too old to reply)
Qu Wenruo
2014-10-21 08:31:17 UTC
Raw Message
'btrfs fi df' needs exactly one arguments as mount option,
but as 3.17 we can run 'btrfs fi df' without any argument,
and it will error as "ERROR: can't access '%s'" which means
the argument number does not do what it should.

The bug is caused by manually modify the optind and use check_argc_max()
instead of the original check_argc_exact().

This patch fixes it by not modifying the optind and use check_argc_exact()

Signed-off-by: Qu Wenruo <***@cn.fujitsu.com>

Don't introduce opt_num, use optind directly
cmds-filesystem.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/cmds-filesystem.c b/cmds-filesystem.c
index bb5881e..70223d8 100644
--- a/cmds-filesystem.c
+++ b/cmds-filesystem.c
@@ -241,7 +241,6 @@ static int cmd_df(int argc, char **argv)
DIR *dirstream = NULL;
unsigned unit_mode = UNITS_DEFAULT;

- optind = 1;
while (1) {
int long_index;
static const struct option long_options[] = {
@@ -290,7 +289,7 @@ static int cmd_df(int argc, char **argv)

- if (check_argc_max(argc, optind + 1))
+ if (check_argc_exact(argc, optind + 1))

path = argv[optind];

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