From 08ac8aee19938ce86d45c5776c013bc4d9303750 Mon Sep 17 00:00:00 2001 From: Bernd Schubert Date: Wed, 16 Apr 2025 00:24:42 +0200 Subject: conn: prevent duplicate flag conversion in high-level interface The high-level interface triggers flag conversion twice: once in the high-level init and once in the low-level init. This caused false "both 'want' and 'want_ext' are set" errors when using fuse_set_feature_flag() or fuse_unset_feature_flag(). The existing check for duplicate conversion only worked when 32-bit flags were set directly. When using the preferred flag manipulation functions, conn->want and the lower 32 bits of conn->want_ext would differ, triggering the error. Fix this by synchronizing conn->want with the lower 32 bits of conn->want_ext after conversion, ensuring consistent state for subsequent calls. Closes: https://github.com/libfuse/libfuse/issues/1171 Signed-off-by: Bernd Schubert --- test/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/meson.build') diff --git a/test/meson.build b/test/meson.build index 5997030..56568d8 100644 --- a/test/meson.build +++ b/test/meson.build @@ -1,6 +1,6 @@ # Compile helper programs td = [] -foreach prog: [ 'test_write_cache', 'test_setattr' ] +foreach prog: [ 'test_write_cache', 'test_setattr', 'hello' ] td += executable(prog, prog + '.c', include_directories: include_dirs, link_with: [ libfuse ], -- cgit v1.2.3