Commit graph

19453 commits

Author SHA1 Message Date
Anton Khirnov
a219add4e8 hevc: make the crop sizes unsigned
(cherry picked from commit c929659bdd)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-21 09:45:18 +01:00
Michael Niedermayer
3a417a86b3 utvideodec: Handle slice_height being zero
Fixes out of array accesses.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-9604
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 0ce3a0f9d9)
2015-03-09 00:51:48 +01:00
Andreas Cadhalpun
905172d75c webp: validate the distance prefix code
According to the WebP Lossless Bitstream Specification the highest
allowed value for a prefix code is 39.

If prefix_code is too large, the calculated extra_bits has an invalid
value and triggers an assertion in get_bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-08 19:21:49 +00:00
Andreas Cadhalpun
8aee35acb1 rv10: check size of s->mb_width * s->mb_height
If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-08 19:21:41 +00:00
Federico Tomassetti
e818da7724 eamad: check for out of bounds read
Bug-Id: CID 1257500
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-08 19:19:55 +00:00
Federico Tomassetti
2c63081b48 mdec: check for out of bounds read
Bug-Id: CID 1257501
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-08 19:19:49 +00:00
Anton Khirnov
77eb3d9a60 tiff: Check that there is no aliasing in pixel format selection
Fixes possible issues with unexpected bpp/bppcount values.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-8544
(cherry picked from commit ae5e1f3d66)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-08 19:16:16 +01:00
Vittorio Giovara
f3dafb63d0 aic: Fix decoding files with odd dimensions
Normally the aic decoder finds the proper slice combination (multiple of
some number less than 32) but in case of odd width, it resorts to the
default values, which were actually swapped.
The number of slices is modified to account for such odd width cases.

CC: libav-stable@libav.org
(cherry picked from commit e878ec0d47)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-08 17:27:53 +01:00
Luca Barbato
7136a0bf88 vorbis: Check the vlc value in setup_classifs
The valid returned values are always at most 11bit.
Remove the previous check that assumed larger values plausible and
use a signed integer to check get_vlc2 return values.

CC: libav-stable@libav.org
(cherry picked from commit 0025f7408a)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-08 17:24:50 +01:00
Luca Barbato
cf3523c6e7 prores: Extend the padding check to 16bit
Some files produced by the official encoder have up to 16bit of
padding instead of the expected padding to the byte.

Use a self-explanatory macro instead of a simple number.

CC: libav-stable@libav.org

(cherry picked from commit dbc1163b20)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-02 15:34:29 +01:00
Michael Niedermayer
07db7a0dd8 h264_cabac: Break infinite loops
This fixes out of array reads and/or infinite loops.

30 is the maximum number of bits that can be read into
coeff_abs below.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:49:34 +00:00
Carl Eugen Hoyos
2d1309c352 hevc_deblock: Fix compilation with nasm
CC: libav-stable@libav.org
Bug-Id: 795
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-22 23:46:55 +00:00
Anton Khirnov
2686dab45e h264: initialize H264Context.avctx in init_thread_copy
This prevents using a wrong (first thread's) AVCodecContext if decoding
a frame in the first pass over all threads fails.

(cherry picked from commit a06b0b1295)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-21 09:35:17 +01:00
Michael Niedermayer
06d433366c h264: Do not share rbsp_buffer across threads
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
(cherry picked from commit 61928b68dc)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-21 09:34:48 +01:00
Anton Khirnov
1dbfaa34e6 h264: only ref cur_pic in update_thread_context if it is initialized
It may be empty if the previous thread's decode call did not contain a
valid frame.

(cherry picked from commit 0dea4c77cc)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-21 09:34:17 +01:00
Michael Niedermayer
ff77fa754b vp7: fix checking vp7_feature_value_size()
CC: libav-stable@libav.org
Bug-Id: CID 1197061
(cherry picked from commit 29234f5681)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:42 +01:00
Vittorio Giovara
431f57f046 libopusenc: prevent an out-of-bounds read by returning early
CC: libav-stable@libav.org
Bug-Id: CID 1244188
(cherry picked from commit 8dd0a2c5cf)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:42 +01:00
Vittorio Giovara
88411b87b4 display: fix order of operands
CC: libav-stable@libav.org
Bug-Id: CID 1238828 / CID 1238832
(cherry picked from commit b1b1a7370e)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:42 +01:00
Vittorio Giovara
3f09d4f6d4 ffv1: fix out-of-bounds read
CC: libav-stable@libav.org
Bug-Id: CID 1047234
(cherry picked from commit 6abe7edabb)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Vittorio Giovara
3aba00b1b3 indeo3: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135740
(cherry picked from commit c6d7c201df)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Vittorio Giovara
796bd81835 g2meet: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135739
(cherry picked from commit 2b5c1efa14)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Vittorio Giovara
9e0a38d32b avs: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135738
(cherry picked from commit c7384664ba)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Vittorio Giovara
39e07ac9fc ansi: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135737
(cherry picked from commit 994ab1804b)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Vittorio Giovara
21aeae9c67 svq1enc: check ff_get_buffer return value
CC: libav-stable@libav.org
Bug-Id: CID 747723
(cherry picked from commit 59846452af)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Michael Niedermayer
dd195c2c58 on2avc: Fix out of array access
CC: libav-stable@libav.org
Bug-Id: CID 1206648
(cherry picked from commit 2fa6d21124)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Vittorio Giovara
61fdbf7ff6 lavc: fix bitshifts amount bigger than the type
CC: libav-stable@libav.org
Bug-Id: CID 1194387 / CID 1194389 / CID 1194393 / CID 1206638
(cherry picked from commit 85dc006b1a)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Martin Storsjö
5276174859 lavc: Move the libtwolame encoder registration to the list for external libraries
This makes sure the default behaviour of using the internal encoder
stays the same regardless if libtwolame is enabled or not (as for
any external library).

This fixes fate-lavf-mpg if libav is built with libtwolame enabled.

CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
(cherry picked from commit aa8b39d999)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:41 +01:00
Vittorio Giovara
4d11e4b47d libtwolame: prevent a NULL pointer dereference
CC: libav-stable@libav.org
Bug-Id: CID 1250330 / CID 1250335
(cherry picked from commit a42d5c861f)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:40 +01:00
Luca Barbato
5891fd017a dvdsubdec: Do not leak on failure path
CC: libav-stable@libav.org
Bug-Id: CID 1198262
(cherry picked from commit d466d82faa)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:40 +01:00
Vittorio Giovara
e9aeaa6441 qdm2: avoid integer overflow
CC: libav-stable@libav.org
Bug-Id: CID 700555
(cherry picked from commit 1f80742f49)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:40 +01:00
Vittorio Giovara
fbc20c3b85 aacdec: avoid an out-of-bounds write
Also move the check in the case it is actually used.

CC: libav-stable@libav.org
Bug-Id: CID 1087090
(cherry picked from commit b99ca86350)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:40 +01:00
Luca Barbato
484e015dc8 cook: Make sure there is enough extradata
At least 8 bytes are needed (Mono audio).

Bug-Id: CID 741418
CC: libav-stable@libav.org
(cherry picked from commit 299d8ab104)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:40 +01:00
Vittorio Giovara
b82170336f tiffenc: initialize return value
'ret' can only be used without initialization if s->height <= 0, which can
only happen if avctx->height <= 0, which is validated elsewhere. Doesn't hurt
to still initialize it though.

CC: libav-stable@libav.org
Bug-Id: CID 732296
(cherry picked from commit 0562887a98)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:40 +01:00
Michael Niedermayer
12e1a7013a roqaudio: Always use the frame buffer on flush
Prevent NULL dereference.

CC: libav-stable@libav.org
Bug-Id: CID 703669
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
(cherry picked from commit 55b59fab88)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-13 00:16:40 +01:00
Luca Barbato
e7ee74485b hnm4: Use av_image_check_size
As done for all the other codecs not calling it indirectly.

CC: libav-stable@libav.org
Bug-Id: CID 1135770 / CID 1135771
2015-01-13 00:09:37 +01:00
Vittorio Giovara
4edbb0955e png_parser: fix size of chunk_lenght
Fixes the comparison against constant value 0x7fffffff.

CC: libav-stable@libav.org
Bug-Id: CID 1198260
2015-01-13 00:06:40 +01:00
Michael Niedermayer
2a75c0b1ca aacsbr: change order of operation to prevent out of array read
CC: libav-stable@libav.org
Bug-Id: CID 732250
2015-01-13 00:06:07 +01:00
Michael Niedermayer
1fd55ec507 svq1dec: Unbreak the scratch buffer allocation
The input packets are always assumed to be padded and
the av_fast_ family of function takes a pointer to a pointer.

Thanks to Nicolas Dufresne <nicolas.dufresne@collabora.com> for
a similar patch.

Introduced in 7b588bb691.

Bug-Id: 766
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-12 23:16:05 +01:00
Thiago Santos
20f9cf744a vaapi: wrap codec specific functions in appropiate #ifs
Fix linking when only a subset of vaapi decoders is enabled.

Bug-Id: 760
CC: libav-stable@libav.org

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-12 23:16:05 +01:00
Vittorio Giovara
20d6ae4626 hevc: always clip luma_log2_weight_denom
Its value shall be between 0 and 7 according to the specifications.

CC: libav-stable@libav.org
Bug-Id: CID 1257502
2015-01-12 23:16:05 +01:00
Luca Barbato
23fe589e19 prores: Evaluate all the quantizers
Prevent an uninitialized data access.

CC: libav-stable@libav.org
Bug-Id: CID 703824 / CID 703825
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-12 23:15:19 +01:00
Luca Barbato
9bd4561d74 tiff: Check the check_size() return value and forward it
Also use the same type for add_entry and check_size.

Bug-Id: CID 700699
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovarao@gmail.com>
2015-01-12 23:15:03 +01:00
Michael Niedermayer
21683549ed h261dec: Fix context initialization sequence
ff_mpv_common_init sets s->context_initialized.

This fixes decoding of h261 in the cases where the demuxer
hasn't already set the frame size.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 3bb465245f)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-12 23:14:26 +01:00
Vittorio Giovara
1411f073fd aacenc: correctly check returned value
CC: libav-stable@libav.org
(cherry picked from commit 971099ff5a)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-12 23:12:25 +01:00
Alexandre Colucci
3d0752d82f xsub: Support DXSA subtitles
These have a DXSA tag and contain alpha in addition to
color values for palette.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 5a1addd7c1)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-12 22:23:35 +01:00
Anton Khirnov
bfe18be88a mpeg4audio: check the init_get_bits() return value
Fixes possible invalid reads.

CC:libav-stable@libav.org
(cherry picked from commit 7e4e010b80)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-12 22:21:54 +01:00
Anton Khirnov
883795fb0f h264: restore a block mistakenly removed in e10fd08a
CC: libav-stable@libav.org
Bug-ID: 781
(cherry picked from commit 60d4c6ff76)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-27 11:07:45 +01:00
Michael Niedermayer
4895211635 on2avc: check number of channels
Fixes invalid memory access.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8549
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit cee4490b52)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-20 10:51:41 +01:00
Michael Niedermayer
58dc526ebf smc: fix the bounds check
Fixes invalid writes when there are more blocks in a run than total
remaining blocks.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8548
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit d423dd72be)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-20 10:51:41 +01:00
Michael Niedermayer
eac49477aa gifdec: refactor interleave end handling
Fixes invalid writes with very small image heights.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8547
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 0b39ac6f54)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-20 10:51:41 +01:00