Michael Niedermayer
115fb6d03e
avformat/aviobuf: Fix end check in put_str16()
...
Fixes out of array read
Fixes: 03c406ec9530e594a074ce2979f8a1f0/asan_heap-oob_7dec26_4664_37c52495b2870a2eaac65f53958e76c1.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-13 03:09:08 +01:00
Reynaldo H. Verdejo Pinochet
baf4c489e5
avio: add detail to avio_printf() size warning
...
Previous "currently size is limited" didn't give away
much in terms of useful info.
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-12-27 00:09:16 -08:00
Bryan Huh
a01ba7f579
avformat/aviobuf: Simplify avio_read() and avio_seek()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-16 12:14:03 +01:00
Bryan Huh
a01c24e8c5
avformat/aviobuf: Improve readability of aviobuf (Add comments and docs)
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-16 12:14:03 +01:00
Stephan Holljes
63c07a956b
lavf/avio: add avio_accept and avio_handshake
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-08-01 00:58:31 +02:00
Michael Niedermayer
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* commit '059a934806d61f7af9ab3fd9f74994b838ea5eba':
lavc: Consistently prefix input buffer defines
Conflicts:
doc/examples/decoding_encoding.c
libavcodec/4xm.c
libavcodec/aac_adtstoasc_bsf.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.h
libavcodec/asvenc.c
libavcodec/avcodec.h
libavcodec/avpacket.c
libavcodec/dvdec.c
libavcodec/ffv1enc.c
libavcodec/g2meet.c
libavcodec/gif.c
libavcodec/h264.c
libavcodec/h264_mp4toannexb_bsf.c
libavcodec/huffyuvdec.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libxvid.c
libavcodec/mdec.c
libavcodec/motionpixels.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/noise_bsf.c
libavcodec/nuv.c
libavcodec/nvenc.c
libavcodec/options.c
libavcodec/parser.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/qsvdec.c
libavcodec/svq1enc.c
libavcodec/tiffenc.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/vc1dec.c
libavcodec/wmalosslessdec.c
libavformat/adxdec.c
libavformat/aiffdec.c
libavformat/apc.c
libavformat/apetag.c
libavformat/avidec.c
libavformat/bink.c
libavformat/cafdec.c
libavformat/flvdec.c
libavformat/id3v2.c
libavformat/isom.c
libavformat/matroskadec.c
libavformat/mov.c
libavformat/mpc.c
libavformat/mpc8.c
libavformat/mpegts.c
libavformat/mvi.c
libavformat/mxfdec.c
libavformat/mxg.c
libavformat/nutdec.c
libavformat/oggdec.c
libavformat/oggparsecelt.c
libavformat/oggparseflac.c
libavformat/oggparseopus.c
libavformat/oggparsespeex.c
libavformat/omadec.c
libavformat/rawdec.c
libavformat/riffdec.c
libavformat/rl2.c
libavformat/rmdec.c
libavformat/rtpdec_latm.c
libavformat/rtpdec_mpeg4.c
libavformat/rtpdec_qdm2.c
libavformat/rtpdec_svq3.c
libavformat/sierravmd.c
libavformat/smacker.c
libavformat/smush.c
libavformat/spdifenc.c
libavformat/takdec.c
libavformat/tta.c
libavformat/utils.c
libavformat/vqf.c
libavformat/westwood_vqa.c
libavformat/xmv.c
libavformat/xwma.c
libavformat/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 23:15:19 +02:00
Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
wm4
dc87758775
avio: fix potential crashes when combining ffio_ensure_seekback + crc
...
Calling ffio_ensure_seekback() if ffio_init_checksum() has been called
on the same context can lead to out of bounds memory accesses and
crashes. The reason is that ffio_ensure_seekback() does not update
checksum_ptr after reallocating the buffer, resulting in a dangling
pointer.
This effectively fixes potential crashes when opening mp3 files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-17 01:13:19 +02:00
Michael Niedermayer
4e640f0560
avformat/avio: move short seek threshold to the context
...
This allows us to adjust it internally.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-11 13:42:06 +02:00
Michael Niedermayer
0023ea4e20
avformat/aviobuf: Check for ffio_set_buf_size() failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 14:57:36 +02:00
Luca Barbato
252d6200c3
avio: Add avio_put_str16be
2015-06-07 10:14:45 +02:00
Michael Niedermayer
ebab902a1c
Merge commit 'bff0349d9da527084e1433167466d8afc9e25c7f'
...
* commit 'bff0349d9da527084e1433167466d8afc9e25c7f':
avio: Add avio_read wrapper to simplify error checking
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:43:50 +02:00
Vittorio Giovara
bff0349d9d
avio: Add avio_read wrapper to simplify error checking
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:13 +02:00
Michael Niedermayer
541d75f9a0
avformat: add callback for opening further files
...
Previous version reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 21:55:18 +02:00
Michael Niedermayer
46778ab212
avformat/aviobuf: Do not resize the buffer in ffio_ensure_seekback() if there is no read function
...
Without a read function there can never be more data read than the buffer could
hold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-27 05:06:36 +02:00
Michael Niedermayer
22af79a9c8
Merge commit 'b97f427fb56bdbf7de8e2d4b72d01114aa6eceda'
...
* commit 'b97f427fb56bdbf7de8e2d4b72d01114aa6eceda':
lavf: Explicitly convert types at function pointer assignment
Conflicts:
libavformat/avio.c
libavformat/aviobuf.c
libavformat/swfenc.c
See: a76a2ffe9d
and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 12:38:20 +01:00
Diego Biurrun
b97f427fb5
lavf: Explicitly convert types at function pointer assignment
...
This fixes a number of "assignment from incompatible pointer type" warnings.
2015-03-11 23:53:13 +01:00
Mark Reid
81a91269a2
libavformat/avio: added avio_put_str16be
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 17:49:15 +01:00
Michael Niedermayer
1fb3642317
Merge commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31'
...
* commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31':
avio: Rename avclass symbols relating to avio
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:02:42 +01:00
Martin Storsjö
c86d8aed74
avio: Rename avclass symbols relating to avio
...
Don't prefix them ffio_url, which is misleading, sounding too
much like the urlprotocol layer (like ffurl_*).
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:07:04 +02:00
Michael Niedermayer
6e9bbaca6c
Merge commit '8a273a746061a112e5e35066a8fd8e146d821a62'
...
* commit '8a273a746061a112e5e35066a8fd8e146d821a62':
avio: Add an internal utility function for freeing dynamic buffers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:33:09 +01:00
Martin Storsjö
8a273a7460
avio: Add an internal utility function for freeing dynamic buffers
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:41 +02:00
Michael Niedermayer
58ed152857
avformat/aviobuf: Allow seeking to the end of the buffer for read only buffers
...
This undoes the effect of 3c18a7b188
for reading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:56:50 +01:00
Michael Niedermayer
0b4fc4bacd
Merge commit '3c18a7b18807de81566381a1bcbe9f6103c0296b'
...
* commit '3c18a7b18807de81566381a1bcbe9f6103c0296b':
avio: Do not consider the end-of-buffer position valid
Conflicts:
libavformat/aviobuf.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:37:28 +01:00
Luca Barbato
3c18a7b188
avio: Do not consider the end-of-buffer position valid
...
Trigger a refill if the seek action moves the pointer
at the end of the buffer.
Before this patch the read action following the seek would trigger
the refill, while write action would write outside the buffer.
In the Libav codebase few muxers seek forward outside of what
already has been written so it is quite unlikely to experience
the problem with the default buffer size.
CC: libav-stable@libav.org
2015-01-28 16:28:10 +01:00
Michael Niedermayer
ed86dbd05d
avformat/aviobuf: Check that avio_seek() target is non negative
...
Fixes out of array access
Suggested-by: Andrew Scherkus <scherkus@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 17:39:53 +01:00
Michael Niedermayer
eac5c7b837
avformat/aviobuf: Fix infinite loop in ff_get_line()
...
Fixes ticket4152
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 19:05:56 +01:00
Michael Niedermayer
36552345d0
Merge commit 'd7f530b0d67fe3996dbfa990a47c865e0d1400a2'
...
* commit 'd7f530b0d67fe3996dbfa990a47c865e0d1400a2':
aviobuf: check context before using it
See: 7441d1ec33
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 21:25:37 +02:00
Vittorio Giovara
d7f530b0d6
aviobuf: check context before using it
...
Avoid a possible null pointer dereference.
CC: libav-stable@libav.org
Bug-Id: CID 1135769
2014-10-20 10:38:38 +01:00
wm4
c8422f04a3
avformat/aviobuf: fix avio_flush() for read streams
...
avio_flush() did nothing useful for read streams. Fix it to behave as
expected, and discard the currently read buffer properly.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 21:31:08 +02:00
Michael Niedermayer
7a2c380e93
avformat/aviobuf: remove uses of deprecated url_feof()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 22:30:07 +02:00
James Almer
5c3c67126f
lavf/avio: rename url_feof() to avio_feof()
...
It's a public function and should use the avio_ namespace
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 00:48:22 +02:00
Carl Eugen Hoyos
ff9a154157
Add int64_t probesize2 instead of int probesize to AVFormatContext.
...
Allows to set a probesize >2G.
Tested-by: Oliver Fromme
2014-07-30 11:09:25 +02:00
Nicolas George
04bc370072
lavf/avio: do not include bprint.h.
...
C++ chokes on the definition of AVBPrint.
Including avio.h from c++ code used to work.
Fix trac ticket #3800 .
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 05:37:45 +02:00
Andrey Utkin
8a4c0866dc
avio: Introduce avio_read_to_bprint(avioctx, bp, max_size)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 18:42:41 +02:00
Michael Niedermayer
46380e8d26
avformat/aviobuf/ff_get_line: also accept \r as end of line character
...
Fixes Ticket3108
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 23:49:05 +02:00
Michael Niedermayer
cdc166acd8
Merge commit '32d05934abc7427bb90380a4c1ab20a15fd7d821'
...
* commit '32d05934abc7427bb90380a4c1ab20a15fd7d821':
mp3dec: decode more data from Info header
Conflicts:
libavformat/mp3dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 00:38:07 +02:00
Alessandro Ghedini
32d05934ab
mp3dec: decode more data from Info header
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-17 20:08:19 +02:00
Michael Niedermayer
61b5ef7754
libavformat/aviobuf: keep track of the original buffer-size and restore it after probe/ensure-seekback
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 23:58:48 +01:00
Michael Niedermayer
0d4a66ee7f
avformat/aviobuf: ffio_ensure_seekback: only copy the initialized part of the buffer
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 23:52:38 +01:00
Michael Niedermayer
9600486d10
avformat/aviobuf: optimize sequential backward seeking
...
This reduces the number of protocol seeks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 23:57:40 +01:00
Michael Niedermayer
2adf422ce2
avformat/aviobuf: factorize buffer_size out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 23:27:37 +01:00
Michael Niedermayer
7441d1ec33
avformat/aviobuf: fix null dereference in avio_close_dyn_buf()
...
Fixes CID1135769
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 16:16:04 +01:00
Michael Niedermayer
269f5d902a
avformat/aviobuf: return error from avio_put_str16le() for invalid input
...
Found-by: Stefano Sabatini
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-13 19:16:27 +01:00
Michael Niedermayer
b52ae27edf
avio_put_str16le: Print error message in case of invalid UTF8 input
...
Found-by: Stefano Sabatini
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-13 19:09:04 +01:00
Michael Niedermayer
81c3bb78ac
Merge commit 'd07b51bf0733fe58bbfa13c448775dc325463cb4'
...
* commit 'd07b51bf0733fe58bbfa13c448775dc325463cb4':
aviobuf: Handle a NULL buffer in avio_close_dyn_buf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 19:28:39 +01:00
Martin Storsjö
d07b51bf07
aviobuf: Handle a NULL buffer in avio_close_dyn_buf
...
This simplifies proper error handling in rtsp.c/rtspdec.c. When
broadcasting over RTSP in TCP mode, the AVIOContext is closed and
recreated for each sent packet, and if the recreation fails, we might
try to close a NULL buffer when freeing things at the end.
Previously, if recreating the buffer in rtspdec.c failed, this would
crash later due to trying to close a NULL buffer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-01 09:56:27 +02:00
Michael Niedermayer
72eddc10fa
Merge commit 'd872fb0f7ff2ff0ba87f5ccf6a1a55ca2be472c9'
...
* commit 'd872fb0f7ff2ff0ba87f5ccf6a1a55ca2be472c9':
lavf: Reset the entry count and allocation size variables on av_reallocp failures
Conflicts:
libavformat/avienc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 12:13:41 +02:00
Martin Storsjö
d872fb0f7f
lavf: Reset the entry count and allocation size variables on av_reallocp failures
...
When av_reallocp fails, the associated variables that keep track of
the number of elements in the array (and in some cases, the
separate number of allocated elements) need to be reset.
Not all of these might technically be needed, but it's better to
reset them if in doubt, to make sure variables don't end up
conflicting.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:14:03 +03:00
Michael Niedermayer
2ad8056c5e
Merge commit '3627ce2f1dab1d33b7f99d78907a3e4d86b7d847'
...
* commit '3627ce2f1dab1d33b7f99d78907a3e4d86b7d847':
aviobuf: Add functions for null buffers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 12:26:09 +02:00