diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2022-11-30 14:16:51 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2022-11-30 14:16:51 -0500 |
commit | c55e85580df10c5afdc6fc0710e756a456aa8e93 (patch) | |
tree | a5dcb83e9ed6c4adf3a719eac45c43aba15cdb09 | |
parent | 33a6a3027f0b1ec931824a4b2206bf6659df53a4 (diff) | |
download | bfs-c55e85580df10c5afdc6fc0710e756a456aa8e93.tar.xz |
parse: Fix crash on -xdev -mount
-rw-r--r-- | src/parse.c | 2 | ||||
-rw-r--r-- | tests/bfs/warn_xdev_mount.out | 19 | ||||
-rw-r--r-- | tests/bfs/warn_xdev_mount.sh | 2 |
3 files changed, 22 insertions, 1 deletions
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 |