avformat/subtitles: add a next line jumper and use it.
authorClément Bœsch <u@pkh.me>
Sun, 8 Sep 2013 16:02:45 +0000 (18:02 +0200)
committerAlexander Strasser <eclipse7@gmx.net>
Sun, 15 Sep 2013 20:21:05 +0000 (22:21 +0200)
commitdc0403530e3e9d21c069f9761a2ca0b399a7297b
tree13631fff3c9674da3f8e5e9c4a87f65b0e7c32e3
parent59147be24f4bdf16fd8b96217af49e55a1810725
avformat/subtitles: add a next line jumper and use it.

This fixes a bunch of possible overread in avformat with the idiom p +=
strcspn(p, "\n") + 1 (strcspn() can focus on the trailing '\0' if no
'\n' is found, so the +1 leads to an overread).

Note on lavf/matroskaenc: no extra subtitles.o Makefile dependency is
added because only the header is required for ff_subtitles_next_line().

Note on lavf/mpsubdec: code gets slightly complex to avoid an infinite
loop in the probing since there is no more forced increment.

NOTE:
Code of function ff_subtitles_next_line fixed by Alexander Strasser.

The original code from master did test the wrong character, but was
corrected by a subsequent commit. That commit however is not backported,
so it had to be fixed in this commit for the backport.

Conflicts:
libavformat/mpl2dec.c

(cherry picked from commit 90fc00a623de44e137fe1601b91356e8cd8bdd54)

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
libavformat/jacosubdec.c
libavformat/matroskaenc.c
libavformat/microdvddec.c
libavformat/mpl2dec.c
libavformat/mpsubdec.c
libavformat/srtdec.c
libavformat/subtitles.h