From 8bc1a3e66e3994ef1c70d236d6524c42b46f0f72 Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Fri, 10 May 2024 01:49:07 +0200 Subject: [PATCH] lzop: Prevent integer overflow (#2174) Cast to int64_t to cover all unsigned 32 bit values without running into issues with C standard. --- libarchive/archive_read_support_filter_lzop.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libarchive/archive_read_support_filter_lzop.c b/libarchive/archive_read_support_filter_lzop.c index e971063dc..0aa85927b 100644 --- a/libarchive/archive_read_support_filter_lzop.c +++ b/libarchive/archive_read_support_filter_lzop.c @@ -291,7 +291,8 @@ consume_header(struct archive_read_filter *self) if (p == NULL) goto truncated; len = archive_be32dec(p); - __archive_read_filter_consume(self->upstream, len + 4 + 4); + __archive_read_filter_consume(self->upstream, + (int64_t)len + 4 + 4); } state->flags = flags; state->in_stream = 1; -- 2.47.2