Luca Barbato
daeb4e3042
jpeg2000: Proper cleanup on failure in decode_frame()
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-07-02 20:05:47 +02:00
Luca Barbato
7e201d575d
jpeg2000: Validate block lengthinc
...
Currently we are using an array with a static data size.
Similar to a patch with the same purpose by Michael Niedermayer.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-07-02 20:05:44 +02:00
Luca Barbato
5efadcb8cd
jpeg2000: Clean up return paths and error messages
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-07-02 20:05:43 +02:00
Luca Barbato
be3271009e
jpeg2000: Define the maximum decomposition levels
...
And define the resolution levels according.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-07-02 20:05:43 +02:00
Luca Barbato
5650e331a7
jpeg2000: Validate resolution levels
...
There are 32 maximum decomposition levels, thus 33 resolution levels.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-07-02 20:05:43 +02:00
Luca Barbato
8bd9039900
Revert "indeo5: reject negative motion vectors"
...
Negative motion vectors are possible.
This reverts commit 1194a41080 .
2013-07-01 06:49:46 +02:00
Luca Barbato
b36e1893ef
indeo: check for reference when inheriting mvs
...
The same is done already for qdelta.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:20:58 +02:00
Luca Barbato
1194a41080
indeo5: reject negative motion vectors
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:20:51 +02:00
Luca Barbato
dd3754a488
indeo: use proper error code
2013-07-01 04:17:46 +02:00
Luca Barbato
7388c0c586
indeo: Properly forward the error codes
...
If the tile data size does not match the buffer size it did not
return an AVERROR_INVALIDDATA causing futher corruption later.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:17:46 +02:00
Luca Barbato
6765ee7b9c
mjpeg: Check the unescaped size for overflows
...
And contextually check init_get_bits success and fix the reporting
message.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-30 08:48:51 +02:00
Luca Barbato
7520d9779c
mjpeg: Move code out of else branch
...
Simplify the control flow and spare some vertical space.
2013-06-30 08:46:55 +02:00
Luca Barbato
02ec656af7
wmapro: error out on impossible scale factor offsets
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-29 18:11:59 +02:00
Luca Barbato
d4a217a408
wmapro: check the min_samples_per_subframe
...
Must be at least WMAPRO_BLOCK_MIN_SIZE.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-29 18:11:40 +02:00
Luca Barbato
183880cfc4
pictor: use the correct logging context
...
Broken in 6d97484d72
2013-06-29 18:11:12 +02:00
Luca Barbato
3822936252
wmapro: check num_vec_coeffs against the actual available buffer
...
Prevent yet another buffer overwrite.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:16:35 +02:00
Luca Barbato
6652338f43
wmapro: return early on unsupported condition
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:16:00 +02:00
Luca Barbato
e30b068ef7
wmapro: make sure there is room to store the current packet
...
Prevent horrid and hard to trace struct overwrite.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:15:40 +02:00
Luca Barbato
afe03092dd
lavc: move put_bits_left in put_bits.h
2013-06-28 13:14:12 +02:00
Luca Barbato
07c52e2c7c
aac: return meaningful errors
2013-06-27 01:22:36 +02:00
Luca Barbato
6d8629aac1
aac: K&R formatting cosmetics
2013-06-27 01:22:06 +02:00
Luca Barbato
f963f701d9
ogg: relax demuxer conformance checks
...
Some samples in the wild are missing headers that are expected by the
specification but in practice do not affect decoding.
2013-06-22 20:54:59 +02:00
Luca Barbato
42cc6cefd3
avconv: report the error for codec open failure
...
External codec may have corner case reason to fail at init, better
report them instead having the user wonder.
2013-06-22 20:54:59 +02:00
Luca Barbato
1e340af8d6
avconv: drop additional strerror fallback
...
strerror_r is called by av_strerror already.
2013-06-22 20:54:59 +02:00
Luca Barbato
df9f22d42b
avf: move url utility functions in a separate file
2013-06-16 15:01:39 +02:00
Luca Barbato
12db891dcd
avf: move ff_write_chained to mux.c
2013-06-16 14:41:07 +02:00
Luca Barbato
508998f7d5
avf: move riff tags accessors where they belong
2013-06-16 14:41:07 +02:00
Luca Barbato
ec7c51c786
avf: move ff_http_match_no_proxy to network
...
It is only used by network protocols.
2013-06-16 14:41:00 +02:00
Luca Barbato
afc8685395
avf: split off format register and lookup function
2013-06-16 14:00:40 +02:00
Luca Barbato
f80b60ad59
bitstream: forward error values and drop few abort()
2013-06-16 09:30:26 +02:00
Luca Barbato
f776899a17
bitstream: K&R formatting cosmetics
2013-06-16 09:30:25 +02:00
Luca Barbato
9e80eda26d
h264_mp4toannexb_bsf: return a padded buffer
...
The code using the returned buffer might expect it to be
FF_INPUT_BUFFER_PADDING_SIZE padded as any other avpacket.
2013-06-15 16:14:45 +02:00
Luca Barbato
8d929afd25
h264_mp4toannexb_bsf: factor out extradata parsing
2013-06-15 16:14:33 +02:00
Luca Barbato
5d21ca4559
h264_mp4toannexb_bsf: K&R formatting cosmetics
2013-06-15 09:11:13 +02:00
Luca Barbato
59d7bb99b6
4xm: check bitstream_size boundary before using it
...
Prevent buffer overread.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
fbd0dacc8d
4xm: refactor decode_p_block
...
Directly return from code 1, 2 and 6 codepaths and simplify the
remaining one to have a single overflow check and a single call to
mcdc.
2013-06-12 14:45:46 +02:00
Luca Barbato
94aefb1932
4xm: do not overread the source buffer in decode_p_block
...
Check for out of picture macroblocks before calling mcdc.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
be373cb50d
4xm: do not overread the prestream buffer
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
de2e5777e2
4xm: validate the buffer size before parsing it
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
145023f572
4xm: reject frames not compatible with the declared version
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
1f0c607560
4xm: drop pointless assert
...
Make sure the value of wlog2 is always between 0 and 3.
2013-06-12 14:45:46 +02:00
Luca Barbato
b8b809908e
4xm: forward errors from decode_p_block
...
Partially mitigate out of memory writes.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
50ec1db62d
4xm: fold last_picture lazy allocation in decode_p_frame
2013-06-12 14:45:46 +02:00
Luca Barbato
42d73f7f6b
4xm: do not overread while parsing header
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
e7a44f87d0
4xm: refactor fourxm_read_header
...
Split sound and video tag parsing in separate functions.
2013-06-12 14:45:46 +02:00
Luca Barbato
e6496ea7e7
4xm: K&R formatting cosmetics
2013-06-12 14:45:46 +02:00
Luca Barbato
08859d19b4
4xm: use the correct logging context
2013-06-12 14:45:46 +02:00
Luca Barbato
a3b2b83f01
faxcompr: return meaningful errors
...
And optionally forward them to the caller instead of concealing them.
Unify err and ret in a single variable.
2013-06-07 17:23:53 +02:00
Luca Barbato
f32aefcf34
faxcompr: K&R formatting cosmetics
2013-06-07 17:23:53 +02:00
Luca Barbato
9c22169769
tiff: do not overread the source buffer
...
At least 2 bytes from the source are read every loop.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-07 17:23:53 +02:00
Luca Barbato
999ccd2d0a
tiff: cleanup the error paths
...
Return the proper error values and optionally report them.
2013-06-07 17:23:53 +02:00
Luca Barbato
016c5b066d
tiff: refactor fax support in a separate function
2013-06-07 17:23:53 +02:00
Luca Barbato
103937681d
tiff: refactor deflate support in a separate function
...
Report when zlib support is missing.
2013-06-07 17:23:53 +02:00
Luca Barbato
f8a4d5e970
h264_parser: K&R formatting cosmetics
2013-06-07 16:54:55 +02:00
Luca Barbato
92b3caa108
vorbis: return meaningful errors
2013-06-07 16:54:16 +02:00
Luca Barbato
9835abb6d6
network: uniform ff_listen_bind and ff_listen_connect
...
Document the functions and have both use a millisecond timeout and
check for interrupt.
2013-06-04 14:56:52 +02:00
Luca Barbato
f849a77e67
network: factor out connect-listening code
...
Introduce ff_listen_connect, to be shared with the other
non-tcp network protocols.
2013-06-01 15:29:53 +02:00
Luca Barbato
28306e6d62
network: factor out bind-listening code
...
Introduce ff_listen_bind, to be shared with the other non-tcp
network protocols.
2013-06-01 15:29:53 +02:00
Luca Barbato
701966730c
vmd: drop incomplete chunks and spurious samples
...
Odd chunk size makes no sense for stereo and incomplete chunks are
not supported.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-29 21:30:21 +02:00
Luca Barbato
676da248ca
vmd: refactor the inner decode loop
...
Simplify a little, assume empty frames are acceptable and
do not pointlessly reinit the bytestream2 contexts using
possibly wrong size values.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-29 12:11:47 +02:00
Luca Barbato
c8f3cb9119
vmd: return meaningful errors
...
CC: libav-stable@libav.org
2013-05-29 12:11:47 +02:00
Luca Barbato
91a6944e56
vmd: use the PALETTE_COUNT constant uniformly
...
While at it drop useless parentheses.
2013-05-29 12:11:47 +02:00
Luca Barbato
0ba49d28a1
configure: support gcc-4.8 instrumentation
...
Since version 4.8 gcc sports asan and tsan integration that can
be leveraged when hunting bugs.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-05-28 17:22:16 +02:00
Luca Barbato
fd06291239
wavpack: check packet size early
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-22 22:02:57 +02:00
Luca Barbato
3f0b6d7a62
wavpack: use bytestream2 in wavpack_decode_block
...
Prevent most out of buffer reads.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-22 22:02:55 +02:00
Luca Barbato
cfbd98abe8
mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
...
Prevent out of buffer write when decoding broken samples.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-21 09:46:02 +02:00
Luca Barbato
a030279a67
ljpeg: use the correct number of components in yuv
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-20 22:02:05 +02:00
Luca Barbato
8aa3500905
mjpeg: Validate sampling factors
...
They must be non-zero.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-20 22:02:05 +02:00
Luca Barbato
db347280eb
vorbis: fallback to normal division instead of crashing
...
The use of ff_inverse speeds up slightly arches + compilers that
do not provide a division faster than the whole machinery, such
as ppc32 + gcc4.7, but has operational limits.
Drop the always-enable assert and provide a fallback.
2013-05-19 22:56:37 +02:00
Luca Barbato
ddf1b4a2f8
vorbis: simplify the inner loop in setup_classifs
2013-05-19 22:56:37 +02:00
Luca Barbato
36f1038004
vorbis: use normal integer values for iterators
...
No need to use fixed-size integers.
2013-05-19 22:56:37 +02:00
Luca Barbato
98186578a2
vorbis: refactor vorbis_residue_decode_internal
2013-05-19 22:56:37 +02:00
Luca Barbato
edfe609fc9
configure: Add basic valgrind-massif support
...
With the parameter --toolchain valgrind-massif, the configure
script sets reasonable defaults that can be overridden as explained
in the documentation.
2013-05-18 21:29:17 +02:00
Luca Barbato
ed50673066
wavpack: validate samples size parsed in wavpack_decode_block
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-18 20:39:32 +02:00
Luca Barbato
8c34558131
wavpack: return meaningful errors
...
And forward those that were already meaningful.
2013-05-18 20:37:18 +02:00
Luca Barbato and Diego Biurrun
0f689a3d97
wavpack: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-05-18 17:19:43 +02:00
Luca Barbato
abad374909
jpegls: check the scan offset
...
Prevent an out of array bound write.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-17 16:44:13 +02:00
Luca Barbato
4a4107b489
jpegls: factorize return paths
2013-05-17 16:44:13 +02:00
Luca Barbato
a5a0ef5e13
jpegls: return meaningful errors
2013-05-17 16:44:13 +02:00
Luca Barbato
39cc4c61de
flacdec: drop unnecessary assert
...
The condition cannot happen anymore.
2013-05-16 14:05:46 +02:00
Luca Barbato
b25e49b187
mjpegdec: properly report unsupported disabled features
...
When JPEG-LS support is disabled the decoder would feed the
data to the JPEG Lossless decode_*_scan function resulting in
faulty decoding.
CC: libav-stable@libav.org
2013-05-16 14:05:46 +02:00
Luca Barbato and Diego Biurrun
ff4fc5ef12
jpegls: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-05-16 00:00:41 +02:00
Luca Barbato
7cbc4cb442
fate: update the mmf reference
...
Using Optional Data chunk introduced changes the hash.
2013-05-14 18:50:27 +02:00
Luca Barbato
72fbc9685c
avconv: use current syntax for the scale filter
2013-05-10 08:26:04 +02:00
Luca Barbato and Diego Biurrun
ee9a4dff4a
mmf: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-05-09 16:12:58 +02:00
Luca Barbato
db9aee6ccf
oma: properly forward errors in oma_read_packet
...
Prevent spurios EIO on EOF.
CC:libav-stable@libav.org
2013-05-07 14:37:32 +02:00
Luca Barbato
6f98508e2b
oma: return meaningful errors
2013-05-07 14:37:32 +02:00
Luca Barbato
e55e8b2c36
lavc: do not leak frames in avcodec_decode_audio4
...
Notwithstanding the return value the frame should be freed if
is not going to be used.
Reported-by: Matthew Wolenetz <wolenetz@chromium.org >
2013-05-07 14:37:32 +02:00
Luca Barbato
e0c53c3408
nut: use meaningful error values
...
Fix the mispresented EINVAL for EOF on partial files, among the other.
2013-05-07 14:37:32 +02:00
Luca Barbato
ac87eaf856
wav: Always seek to an even offset
...
RIFF chunks are aligned to 16bit according to the specification.
Bug-Id:500
CC:libav-stable@libav.org
2013-05-06 09:14:43 +02:00
Luca Barbato
46c1917350
nut: use a define for the nut version
...
Ease switching version in the future and make evident why that value.
2013-05-06 09:14:43 +02:00
Luca Barbato and Diego Biurrun
72e228b274
nut: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-05-04 20:01:08 +02:00
Luca Barbato
69467fb64b
wav: return meaningful errors
2013-05-03 19:56:06 +02:00
Luca Barbato
af4cc2605c
id3v2: check for end of file while unescaping tags
...
Prevent a serious out of buffer bound write.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-05-03 10:21:27 +02:00
Luca Barbato and Diego Biurrun
13f57a4d88
wav: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-05-02 19:04:22 +02:00
Luca Barbato and Diego Biurrun
0671adbb18
id3v2: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-05-02 11:02:45 +02:00
Luca Barbato
a943a132f3
aac: check the maximum number of channels
...
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.
CC:libav-stable@libav.org
2013-04-28 00:40:33 +02:00
Luca Barbato
c140105410
oma: K&R formatting cosmetics
2013-04-27 10:53:24 +02:00
Luca Barbato
26a44143ef
avplay: remove a warning
...
Set the data field in the flush_pkt to the pointer to the actual packet.
The field needs to contain a valid unique pointer, no read nor writes
are ever made to it.
2013-04-27 10:51:28 +02:00
Luca Barbato
c2cb01d418
lavf: introduce AVFMT_TS_NEGATIVE
...
Most formats do not support negative timestamps, shift them to avoid
unexpected behaviour and a number of bad crashes.
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-04-25 10:13:27 +02:00