From 0b78208a5b92517769043aff4dfcba0b67fa8f6e Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Fri, 28 Jun 2019 15:04:04 +0200 Subject: Ommit fragment table if there really are no fragments Signed-off-by: David Oberhollenzer --- lib/sqfs/data_writer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/sqfs/data_writer.c b/lib/sqfs/data_writer.c index a11e572..753e5d4 100644 --- a/lib/sqfs/data_writer.c +++ b/lib/sqfs/data_writer.c @@ -83,6 +83,9 @@ int data_writer_flush_fragments(data_writer_t *data) uint64_t offset; uint32_t out; + if (data->frag_offset == 0) + return 0; + if (grow_fragment_table(data)) return -1; @@ -187,6 +190,12 @@ int data_writer_write_fragment_table(data_writer_t *data) { uint64_t start; + if (data->num_fragments == 0) { + data->super->fragment_entry_count = 0; + data->super->fragment_table_start = 0xFFFFFFFFFFFFFFFFUL; + return 0; + } + data->super->fragment_entry_count = data->num_fragments; if (sqfs_write_table(data->outfd, data->super, data->fragments, -- cgit v1.2.3