From 4427fa9900a33f21ace5f7642fc5bc65a379c8c5 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 18 Aug 2015 23:26:40 +0200 Subject: stream_libarchive: restrict number of allowed formats Most of what is not in this list is extremely obscure, or increases the file format misdetection rate. --- stream/stream_libarchive.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'stream') diff --git a/stream/stream_libarchive.c b/stream/stream_libarchive.c index 475febc726..6a39f8fac8 100644 --- a/stream/stream_libarchive.c +++ b/stream/stream_libarchive.c @@ -79,8 +79,17 @@ struct mp_archive *mp_archive_new(struct mp_log *log, struct stream *src, mpa->arch = archive_read_new(); if (!mpa->arch) goto err; - archive_read_support_format_all(mpa->arch); - archive_read_support_filter_all(mpa->arch); + + archive_read_support_format_7zip(mpa->arch); + archive_read_support_format_gnutar(mpa->arch); + archive_read_support_format_tar(mpa->arch); + archive_read_support_format_iso9660(mpa->arch); + archive_read_support_format_rar(mpa->arch); + archive_read_support_format_zip(mpa->arch); + archive_read_support_filter_bzip2(mpa->arch); + archive_read_support_filter_gzip(mpa->arch); + archive_read_support_filter_xz(mpa->arch); + if (flags & MP_ARCHIVE_FLAG_UNSAFE) archive_read_support_format_raw(mpa->arch); archive_read_set_callback_data(mpa->arch, mpa); -- cgit v1.2.3