From 0b78208a5b92517769043aff4dfcba0b67fa8f6e Mon Sep 17 00:00:00 2001
From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Date: Fri, 28 Jun 2019 15:04:04 +0200
Subject: Ommit fragment table if there really are no fragments

Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
---
 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