[FFmpeg-devel] [PATCH 2/2] avformat/dv: use av_packet_alloc() to allocate packets

Michael Niedermayer michael at niedermayer.cc
Sun May 2 12:21:39 EEST 2021


On Fri, Apr 30, 2021 at 03:07:01PM -0300, James Almer wrote:
> As avpriv_dv_get_packet can fail now, make it return < 0 on error, 0 on no
> packet found, and > 0 on packet found.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavdevice/iec61883.c |  2 +-
>  libavformat/avidec.c   |  4 +++-
>  libavformat/dv.c       | 51 ++++++++++++++++++++++++++----------------
>  3 files changed, 36 insertions(+), 21 deletions(-)

crashes, but i guess thats what andreas already reported but
if its something else or you need a testcase then ill retest this and
provide a better report and test sample, just ask me if you need it

thx

[avi @ 0x2ced4680] Switching to NI mode, due to poor interleaving
==21022== Invalid read of size 8
==21022==    at 0x10F6A73: av_buffer_ref (in ffmpeg_g)
==21022==    by 0x72C6D0: av_packet_ref (in ffmpeg_g)
==21022==    by 0x7AA48B: avcodec_send_packet (in ffmpeg_g)
==21022==    by 0x6AE90A: try_decode_frame (in ffmpeg_g)
==21022==    by 0x6B98D8: avformat_find_stream_info (in ffmpeg_g)
==21022==    by 0x2DB293: open_input_file (in ffmpeg_g)
==21022==    by 0x2DEBB3: ffmpeg_parse_options (in ffmpeg_g)
==21022==    by 0x2D3391: main (in ffmpeg_g)
==21022==  Address 0x2d0a8748 is 8 bytes inside a block of size 24 free'd
==21022==    at 0x4C32D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21022==    by 0x10F6ABC: av_buffer_unref (in ffmpeg_g)
==21022==    by 0x72C640: av_packet_unref (in ffmpeg_g)
==21022==    by 0x59B371: avpriv_dv_produce_packet (in ffmpeg_g)
==21022==    by 0x577F4F: avi_read_packet (in ffmpeg_g)
==21022==    by 0x6B3D5A: ff_read_packet (in ffmpeg_g)
==21022==    by 0x6B4AFA: read_frame_internal (in ffmpeg_g)
==21022==    by 0x6B95FC: avformat_find_stream_info (in ffmpeg_g)
==21022==    by 0x2DB293: open_input_file (in ffmpeg_g)
==21022==    by 0x2DEBB3: ffmpeg_parse_options (in ffmpeg_g)
==21022==    by 0x2D3391: main (in ffmpeg_g)
==21022==  Block was alloc'd at
==21022==    at 0x4C33E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21022==    by 0x4C33F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==21022==    by 0x110C0E2: av_malloc (in ffmpeg_g)
==21022==    by 0x110C308: av_mallocz (in ffmpeg_g)
==21022==    by 0x10F6925: av_buffer_create (in ffmpeg_g)
==21022==    by 0x10F69E6: av_buffer_alloc (in ffmpeg_g)
==21022==    by 0x72BE07: av_grow_packet (in ffmpeg_g)
==21022==    by 0x6AEFD9: append_packet_chunked (in ffmpeg_g)
==21022==    by 0x577F02: avi_read_packet (in ffmpeg_g)
==21022==    by 0x6B3D5A: ff_read_packet (in ffmpeg_g)
==21022==    by 0x6B4AFA: read_frame_internal (in ffmpeg_g)
==21022==    by 0x6B95FC: avformat_find_stream_info (in ffmpeg_g)
==21022==    by 0x2DB293: open_input_file (in ffmpeg_g)
==21022==    by 0x2DEBB3: ffmpeg_parse_options (in ffmpeg_g)
==21022==    by 0x2D3391: main (in ffmpeg_g)


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20210502/896454d8/attachment.sig>


More information about the ffmpeg-devel mailing list