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.
This commit is contained in:
wm4 2015-08-18 23:26:40 +02:00
parent 594071dbf4
commit 4427fa9900
1 changed files with 11 additions and 2 deletions

View File

@ -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);