From 33997bdb9ece412a4c8a5f306bd02b12238a226c Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Thu, 18 Apr 2019 14:36:41 +0200 Subject: [PATCH] pkg2sqfs: fix size computation of directories Signed-off-by: David Oberhollenzer --- sqfs/meta.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqfs/meta.c b/sqfs/meta.c index 497bbbb..6d8402e 100644 --- a/sqfs/meta.c +++ b/sqfs/meta.c @@ -44,6 +44,7 @@ static int write_dir(meta_writer_t *dm, node_t *node) hdr.count = htole32(count - 1); hdr.start_block = htole32(c->inode_ref >> 16); hdr.inode_number = htole32(c->inode_num); + node->data.dir->size += sizeof(hdr); if (meta_writer_append(dm, &hdr, sizeof(hdr))) return -1; @@ -55,6 +56,7 @@ static int write_dir(meta_writer_t *dm, node_t *node) ent.inode_number = htole16(c->inode_num - d->inode_num); ent.type = htole16(c->type); ent.size = htole16(strlen(c->name) - 1); + node->data.dir->size += sizeof(ent) + strlen(c->name); if (meta_writer_append(dm, &ent, sizeof(ent))) return -1; @@ -63,8 +65,6 @@ static int write_dir(meta_writer_t *dm, node_t *node) c = c->next; } - - node->data.dir->size += sizeof(hdr) + count * sizeof(ent); } return 0; }