• Jindřich Makovička's avatar
    h264: avoid stuck buffer pointer in decode_nal_units · 67317767
    Jindřich Makovička authored
    When decode_nal_units() previously encountered a NAL_END_SEQUENCE,
    and there are some junk bytes left in the input buffer, but no start codes,
    buf_index gets stuck 3 bytes before the end of the buffer.
    
    This can trigger an infinite loop in the caller code, eg. in
    try_decode_trame(), as avcodec_decode_video() then keeps returning zeroes,
    with 3 bytes of the input packet still available.
    
    With this change, the remaining bytes are skipped so the whole packet gets
    consumed.
    
    CC:libav-stable@libav.org
    Signed-off-by: 's avatarJindřich Makovička <makovick@gmail.com>
    Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
    (cherry picked from commit 1a8c6917)
    
    Conflicts:
    
    	libavcodec/h264.c
    67317767
Name
Last commit
Last update
doc Loading commit data...
ffpresets Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswscale Loading commit data...
tests Loading commit data...
tools Loading commit data...
vhook Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
Doxyfile Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
VERSION Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffplay.c Loading commit data...
ffserver.c Loading commit data...
ffserver.h Loading commit data...
output_example.c Loading commit data...
subdir.mak Loading commit data...
version.sh Loading commit data...