diff options
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | src/metaentry.c | 4 |
2 files changed, 7 insertions, 0 deletions
@@ -4,6 +4,9 @@ Latest stuff (planned release date: 2015-09-??) * BUGFIX: Applying metadata with extended attribute having null byte in value zeroed all following bytes of this xattr value. + * BUGFIX: Reading extended attributes while not having permissions + resulted in crash. + * Empty directories not present in metadata can be now removed when applying stored metadata if -E / --remove-empty-dirs option is used. diff --git a/src/metaentry.c b/src/metaentry.c index fdb7f71..25bb00f 100644 --- a/src/metaentry.c +++ b/src/metaentry.c @@ -266,11 +266,14 @@ mentry_create(const char *path) continue; mentry->xattr_names[i] = xstrdup(attr); + mentry->xattr_values[i] = NULL; + vsize = getxattr(path, attr, NULL, 0); if (vsize < 0) { msg(MSG_ERROR, "getxattr failed for %s: %s\n", path, strerror(errno)); free(list); + mentry->xattrs = i + 1; mentry_free(mentry); return NULL; } @@ -283,6 +286,7 @@ mentry_create(const char *path) msg(MSG_ERROR, "getxattr failed for %s: %s\n", path, strerror(errno)); free(list); + mentry->xattrs = i + 1; mentry_free(mentry); return NULL; } |