From: Tim Kientzle Date: Sun, 21 Feb 2016 19:43:03 +0000 (-0800) Subject: Clarify the limit on number of filters X-Git-Tag: v3.1.901a~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37649d274867edd2dd25d8a3057c3b6cd81ce83e;p=thirdparty%2Flibarchive.git Clarify the limit on number of filters --- diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c index 033ed8b57..0bbacc8f1 100644 --- a/libarchive/archive_read.c +++ b/libarchive/archive_read.c @@ -547,16 +547,20 @@ archive_read_open1(struct archive *_a) * it wants to handle this stream. Repeat until we've finished * building the pipeline. */ + +/* We won't build a filter pipeline with more stages than this. */ +#define MAX_NUMBER_FILTERS 25 + static int choose_filters(struct archive_read *a) { - int number_bidders, i, bid, best_bid, n; + int number_bidders, i, bid, best_bid, number_filters; struct archive_read_filter_bidder *bidder, *best_bidder; struct archive_read_filter *filter; ssize_t avail; int r; - for (n = 0; n < 25; ++n) { + for (number_filters = 0; number_filters < MAX_NUMBER_FILTERS; ++number_filters) { number_bidders = sizeof(a->bidders) / sizeof(a->bidders[0]); best_bid = 0;