From: Tobias Stoeckmann Date: Mon, 6 Jul 2026 16:15:51 +0000 (+0200) Subject: cab: Adjust lzx_read_bitlen API X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8beccd23e2a2d2e513c5ac28ae65accf83f00498;p=thirdparty%2Flibarchive.git cab: Adjust lzx_read_bitlen API Use 0 as marker for maximum symbol count to be able to eventually switch to another data type. Signed-off-by: Tobias Stoeckmann --- diff --git a/libarchive/archive_read_support_format_cab.c b/libarchive/archive_read_support_format_cab.c index 0c5d48219..18b22a165 100644 --- a/libarchive/archive_read_support_format_cab.c +++ b/libarchive/archive_read_support_format_cab.c @@ -2782,7 +2782,7 @@ lzx_read_blocks(struct lzx_stream *strm, int last) /* * Get path lengths of remaining elements of main tree. */ - r = lzx_read_bitlen(strm, &ds->mt, -1); + r = lzx_read_bitlen(strm, &ds->mt, 0); if (r == ARCHIVE_EOF) { ds->state = ST_MAIN_TREE_REM; if (last) @@ -2812,7 +2812,7 @@ lzx_read_blocks(struct lzx_stream *strm, int last) /* * Get path lengths of remaining elements of main tree. */ - r = lzx_read_bitlen(strm, &ds->lt, -1); + r = lzx_read_bitlen(strm, &ds->lt, 0); if (r == ARCHIVE_EOF) { ds->state = ST_LENGTH_TREE; if (last) @@ -3141,7 +3141,7 @@ lzx_read_bitlen(struct lzx_stream *strm, struct huffman *d, int end) if (i == 0) memset(d->freq, 0, sizeof(d->freq)); ret = ARCHIVE_EOF; - if (end < 0) + if (end == 0) end = d->symbol_count; while (i < end) { ds->loop = i;