flvdec: Check the avio_seek return value after reading a metadata packet
authorSteven Liu <lq@chinaffmpeg.org>
Thu, 7 Sep 2017 00:30:14 +0000 (08:30 +0800)
committerSteven Liu <lq@chinaffmpeg.org>
Thu, 7 Sep 2017 00:30:14 +0000 (08:30 +0800)
commitef7fe81b8554a2865d47a55edf47420878fa3d91
tree107f30f2d4fe1475647e35fd8156154b9afc669c
parent25b5096400b2fd578e059eb4a5d2aba8f3cfddfb
flvdec: Check the avio_seek return value after reading a  metadata packet

merge from libav: 585dc1aecef0371ad6f16cb3750ae2a6da9cf00a

If the metadata packet is corrupted, flv_read_metabody can accidentally
read past the start of the next packet. If the start of the next packet
had been flushed out of the IO buffer, we would be unable to seek to
the right position (on a nonseekable stream).

Prefer to clearly error out instead of silently trying to read from a
desynced stream which will only be interpreted as garbage.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
libavformat/flvdec.c