From c55e85580df10c5afdc6fc0710e756a456aa8e93 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 30 Nov 2022 14:16:51 -0500 Subject: parse: Fix crash on -xdev -mount --- src/parse.c | 2 +- tests/bfs/warn_xdev_mount.out | 19 +++++++++++++++++++ tests/bfs/warn_xdev_mount.sh | 2 ++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/bfs/warn_xdev_mount.out create mode 100644 tests/bfs/warn_xdev_mount.sh diff --git a/src/parse.c b/src/parse.c index 5ef71f8..a858a4c 100644 --- a/src/parse.c +++ b/src/parse.c @@ -1802,7 +1802,7 @@ static struct bfs_expr *parse_mount(struct parser_state *state, int arg1, int ar bfs_warning(state->ctx, "${blu}-xdev${rs}, due to http://austingroupbugs.net/view.php?id=1133.\n\n"); state->ctx->flags |= BFTW_PRUNE_MOUNTS; - state->mount_arg = state->argv; + state->mount_arg = expr->argv; return expr; } diff --git a/tests/bfs/warn_xdev_mount.out b/tests/bfs/warn_xdev_mount.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/warn_xdev_mount.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/warn_xdev_mount.sh b/tests/bfs/warn_xdev_mount.sh new file mode 100644 index 0000000..5d395f6 --- /dev/null +++ b/tests/bfs/warn_xdev_mount.sh @@ -0,0 +1,2 @@ +# Regression test: don't crash if -mount is the last option +bfs_diff basic -warn -xdev -mount -- cgit v1.2.3