diff options
author | Bernd Schubert <bschubert@ddn.com> | 2025-04-16 00:24:42 +0200 |
---|---|---|
committer | Bernd Schubert <bernd@bsbernd.com> | 2025-04-16 13:48:42 +0200 |
commit | 3863da58b1f7904675ca050434d8219bc410f34a (patch) | |
tree | a10b16ccda64e72fd4eeff0a69066c8436a9374f /lib/fuse_log.c | |
parent | d66ca89e86a72fa5ad48d88ef5570062a79397be (diff) | |
download | libfuse-3863da58b1f7904675ca050434d8219bc410f34a.tar.gz |
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 <bschubert@ddn.com>
Diffstat (limited to 'lib/fuse_log.c')
0 files changed, 0 insertions, 0 deletions