author: Dimitri John Ledkov <dimitri.ledkov@canonical.com> 2021-06-30 18:56:16 -0700
committer: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 2021-07-20 16:00:22 +0200
commit: 67a8dfc86bdb21c8f01bb4a5e5f9c89a063807b0
parent: af6365ae0991c304387cc0297beb55974f67a29f
Commit Summary:
Diffstat:
1 file changed, 8 insertions, 0 deletions
diff --git a/lib/decompress_unlz4.c b/lib/decompress_unlz4.c
index c0cfcfd486be..e6327391b6b6 100644
--- a/lib/decompress_unlz4.c
+++ b/lib/decompress_unlz4.c
@@ -112,6 +112,9 @@ STATIC inline int INIT unlz4(u8 *input, long in_len,
error("data corrupted");
goto exit_2;
}
+ } else if (size < 4) {
+ /* empty or end-of-file */
+ goto exit_3;
}
chunksize = get_unaligned_le32(inp);
@@ -125,6 +128,10 @@ STATIC inline int INIT unlz4(u8 *input, long in_len,
continue;
}
+ if (!fill && chunksize == 0) {
+ /* empty or end-of-file */
+ goto exit_3;
+ }
if (posp)
*posp += 4;
@@ -184,6 +191,7 @@ STATIC inline int INIT unlz4(u8 *input, long in_len,
}
}
+exit_3:
ret = 0;
exit_2:
if (!input)