avutil/parseutils: only accept full us duration, do not accept mss duration
authorMarton Balint <cus@passwd.hu>
Mon, 5 Mar 2018 23:45:09 +0000 (00:45 +0100)
committerMarton Balint <cus@passwd.hu>
Fri, 9 Mar 2018 21:01:38 +0000 (22:01 +0100)
Accepting 'u' suffix for a time specification is neither intuitive nor
consistent (now that we don't accept m). Also there was a bug in the code
accepting an extra 's' even after 'ms'.

Signed-off-by: Marton Balint <cus@passwd.hu>
libavutil/parseutils.c

index 95274f5..924c49d 100644 (file)
@@ -693,12 +693,11 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration)
             suffix = 1000;
             microseconds /= 1000;
             q += 2;
-        } else if (*q == 'u') {
+        } else if (q[0] == 'u' && q[1] == 's') {
             suffix = 1;
             microseconds = 0;
-            q++;
-        }
-        if (*q == 's')
+            q += 2;
+        } else if (*q == 's')
             q++;
     } else {
         int is_utc = *q == 'Z' || *q == 'z';