From: Lasse Collin Date: Wed, 30 Apr 2008 19:16:17 +0000 (+0300) Subject: Fix a crash with --format=alone if other filters than LZMA X-Git-Tag: upstream/5.1.3~748 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8e074349e47ea6832b8fdf9244e581d453733433;p=platform%2Fupstream%2Fxz.git Fix a crash with --format=alone if other filters than LZMA are specified on the command line. --- diff --git a/src/lzma/args.c b/src/lzma/args.c index 24fc093..4393a6b 100644 --- a/src/lzma/args.c +++ b/src/lzma/args.c @@ -462,6 +462,15 @@ set_compression_settings(void) // Terminate the filter options array. opt_filters[filter_count].id = LZMA_VLI_VALUE_UNKNOWN; + // If we are using the LZMA_Alone format, allow exactly one filter + // which has to be LZMA. + if (opt_header == HEADER_ALONE && (filter_count != 1 + || opt_filters[0].id != LZMA_FILTER_LZMA)) { + errmsg(V_ERROR, _("With --format=alone only the LZMA filter " + "is supported")); + my_exit(ERROR); + } + // Optimize the filter chain a little by removing all // Copy filters. for (size_t i = 0; opt_filters[i].id != LZMA_VLI_VALUE_UNKNOWN; ++i) {