summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <[email protected]>2014-12-06 00:18:29 +0100
committerMichael Niedermayer <[email protected]>2015-06-10 02:13:08 +0200
commit2324c670763ce3b78c87ee3e74a52fd681388885 (patch)
tree175348981a0a52f49fbefd5055b996034ce71771
parent3d5c48937bebaafdd2ff855393632351321f0276 (diff)
avformat/rmdec: Check for overflow in ff_rm_read_mdpr_codecdata()
Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 03abf55f252945c70f4a79eaf4d609cee4d98710) Signed-off-by: Michael Niedermayer <[email protected]>
-rw-r--r--libavformat/rmdec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index 5a8c6dc160..d178909fcb 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -389,7 +389,11 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
skip:
/* skip codec info */
size = avio_tell(pb) - codec_pos;
- avio_skip(pb, codec_data_size - size);
+ if (codec_data_size >= size) {
+ avio_skip(pb, codec_data_size - size);
+ } else {
+ av_log(s, AV_LOG_WARNING, "codec_data_size %u < size %d\n", codec_data_size, size);
+ }
return 0;
}