aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2013-09-08 18:28:11 +0200
committerAlexander Strasser <eclipse7@gmx.net>2013-09-15 22:21:05 +0200
commit2dc6c5d46221dc04e545b7829c32efc093d76bdf (patch)
tree51b3237eebf3f094e49fa08ade17bd0342c5063c
parentdc0403530e3e9d21c069f9761a2ca0b399a7297b (diff)
downloadffmpeg-2dc6c5d46221dc04e545b7829c32efc093d76bdf.tar.gz
avcodec/srtdec: fix potential overread.
(cherry picked from commit 3a54c221d574ec944db1eddf9df895808f32bf9e) Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
-rw-r--r--libavcodec/srtdec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/srtdec.c b/libavcodec/srtdec.c
index 267561c866..b16645a01e 100644
--- a/libavcodec/srtdec.c
+++ b/libavcodec/srtdec.c
@@ -204,7 +204,8 @@ static const char *read_ts(const char *buf, int *ts_start, int *ts_end,
"%*[ ]X1:%u X2:%u Y1:%u Y2:%u",
&hs, &ms, &ss, ts_start, &he, &me, &se, ts_end,
x1, x2, y1, y2);
- buf += strcspn(buf, "\n") + 1;
+ buf += strcspn(buf, "\n");
+ buf += !!*buf;
if (c >= 8) {
*ts_start = 100*(ss + 60*(ms + 60*hs)) + *ts_start/10;
*ts_end = 100*(se + 60*(me + 60*he)) + *ts_end /10;