]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Fix setxattr return value on replacing
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 10 Jun 2024 20:00:20 +0000 (22:00 +0200)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 10 Jun 2024 20:00:20 +0000 (22:00 +0200)
When XATTR_REPLACE is set we shall succeed when the value already
exists, and fail with ENODATA otherwise, instead of the converse.

hurd/xattr.c

index f613d47c832fda2cdab788c2e735271bac5a517f..1a84c90db878e974917989af336413f01fae49de 100644 (file)
@@ -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)