summaryrefslogtreecommitdiff
path: root/tar
diff options
context:
space:
mode:
Diffstat (limited to 'tar')
-rw-r--r--tar/sqfs2tar.c3
-rw-r--r--tar/tar2sqfs.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/tar/sqfs2tar.c b/tar/sqfs2tar.c
index 6767b95..58fb611 100644
--- a/tar/sqfs2tar.c
+++ b/tar/sqfs2tar.c
@@ -267,9 +267,10 @@ static int get_xattrs(const char *name, const sqfs_inode_generic_t *inode,
ent->key = ent->data;
strcpy(ent->key, (const char *)key->key);
- ent->value = ent->key + strlen(ent->key) + 1;
+ ent->value = (sqfs_u8 *)ent->key + strlen(ent->key) + 1;
memcpy(ent->value, value->value, value->size + 1);
+ ent->value_len = value->size;
ent->next = list;
list = ent;
diff --git a/tar/tar2sqfs.c b/tar/tar2sqfs.c
index 5d40fc5..6be682f 100644
--- a/tar/tar2sqfs.c
+++ b/tar/tar2sqfs.c
@@ -334,7 +334,7 @@ static int copy_xattr(tree_node_t *node, const tar_header_decoded_t *hdr)
}
ret = sqfs_xattr_writer_add(sqfs.xwr, xattr->key, xattr->value,
- strlen(xattr->value));
+ xattr->value_len);
if (ret) {
sqfs_perror(hdr->name, "storing xattr key-value pair",
ret);