assert(name);
assert(value);
- for (l = 100; ; l = (size_t) n + 1) {
+ for (l = 100; ; l = (size_t) n + 1 /* extra byte to make sure this remains NUL suffixed */) {
v = new0(char, l);
if (!v)
return -ENOMEM;
n = lgetxattr(path, name, v, l);
else
n = getxattr(path, name, v, l);
-
if (n >= 0 && (size_t) n < l) {
*value = v;
return n;
assert(name);
assert(value);
- for (l = 100; ; l = (size_t) n + 1) {
+ for (l = 100;; l = (size_t) n + 1 /* extra byte to make sure this remains NUL suffixed */) {
v = new0(char, l);
if (!v)
return -ENOMEM;
n = fgetxattr(fd, name, v, l);
-
if (n >= 0 && (size_t) n < l) {
*value = v;
return n;