From: Samuel Thibault Date: Mon, 10 Jun 2024 20:00:20 +0000 (+0200) Subject: hurd: Fix setxattr return value on replacing X-Git-Tag: glibc-2.40~133 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed06248019908dd4f286552594ac3ec844ef3da4;p=thirdparty%2Fglibc.git hurd: Fix setxattr return value on replacing When XATTR_REPLACE is set we shall succeed when the value already exists, and fail with ENODATA otherwise, instead of the converse. --- diff --git a/hurd/xattr.c b/hurd/xattr.c index f613d47c83..1a84c90db8 100644 --- a/hurd/xattr.c +++ b/hurd/xattr.c @@ -158,10 +158,9 @@ _hurd_xattr_set (io_t port, const char *name, const void *value, size_t size, if (err) return err; if (bufsz > 0) - { - __munmap (buf, bufsz); - return ENODATA; - } + __munmap (buf, bufsz); + else + return ENODATA; } return __file_set_translator (port, FS_TRANS_SET | ((flags & XATTR_CREATE)