diff options
author | Clément Bœsch <clement@stupeflix.com> | 2013-11-19 12:53:14 +0100 |
---|---|---|
committer | Clément Bœsch <clement@stupeflix.com> | 2013-11-19 12:53:20 +0100 |
commit | 722fb81dc5c8546eb6498629db7c8ebe2f9545c2 (patch) | |
tree | dca0bc2a23e3935fb2646d19810d84029dbcb597 /libavformat | |
parent | b31587af4b075bd60a69330a1aa3a15201b80c27 (diff) | |
download | ffmpeg-722fb81dc5c8546eb6498629db7c8ebe2f9545c2.tar.gz |
avformat/jacosubdec: make probing less tolerant.
Fixes a failure with probetest:
./tools/probetest 8192 500000
[...]
Failure of jacosub probing code with score=51 type=1 p=CAB size=16
Random data was:
00000000 40 37 40 30 93 01 48 e0 09 96 10 90 78 0f 0c 10 @7@0..H.....x...
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/jacosubdec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/jacosubdec.c b/libavformat/jacosubdec.c index e2cbaad83e..e77ab40227 100644 --- a/libavformat/jacosubdec.c +++ b/libavformat/jacosubdec.c @@ -43,8 +43,9 @@ typedef struct { static int timed_line(const char *ptr) { char c; + int fs, fe; return (sscanf(ptr, "%*u:%*u:%*u.%*u %*u:%*u:%*u.%*u %c", &c) == 1 || - sscanf(ptr, "@%*u @%*u %c", &c) == 1); + (sscanf(ptr, "@%u @%u %c", &fs, &fe, &c) == 3 && fs < fe)); } static int jacosub_probe(AVProbeData *p) |