xattr: fix assert that breaks importctl (#37146)

getxattr_at_malloc() calls getxattr_pinned_internal() with size 0 to get
the size of the xattr, and then asserts because n > 0
```
Assertion '(size_t) n <= size' failed at src/basic/xattr-util.c:107, function getxattr_pinned_internal().
```

Follow-up for b8df25dcfe
This commit is contained in:
Luca Boccassi
2025-04-15 22:44:24 +01:00
committed by GitHub
parent 8a05dbb31a
commit 86cfbfae97

View File

@@ -104,7 +104,7 @@ static ssize_t getxattr_pinned_internal(
if (n < 0)
return -errno;
assert((size_t) n <= size);
assert(size == 0 || (size_t) n <= size);
return n;
}
@@ -234,7 +234,7 @@ static int listxattr_pinned_internal(
if (n < 0)
return -errno;
assert((size_t) n <= size);
assert(size == 0 || (size_t) n <= size);
if (n > INT_MAX) /* We couldn't return this as 'int' anymore */
return -E2BIG;