avformat/jacosubdec: make probing less tolerant.
authorClément Bœsch <clement@stupeflix.com>
Tue, 19 Nov 2013 11:53:14 +0000 (12:53 +0100)
committerClément Bœsch <clement@stupeflix.com>
Tue, 19 Nov 2013 11:53:20 +0000 (12:53 +0100)
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...

libavformat/jacosubdec.c

index e2cbaad..e77ab40 100644 (file)
@@ -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)