diff --git a/libavformat/rdt.c b/libavformat/rdt.c index 158a8212e1444e945fb95d18d80416e4c4cf5014..212e139f3166b29027d990673ff1fb5a28895ba9 100644 --- a/libavformat/rdt.c +++ b/libavformat/rdt.c @@ -132,7 +132,7 @@ static int rdt_load_mdpr (PayloadContext *rdt, AVStream *st, int rule_nr) { AVIOContext pb; - int size; + unsigned int size; uint32_t tag; /** diff --git a/libavformat/rm.h b/libavformat/rm.h index a72e8b79974845f7b7fb5af90ae803de714879ef..7b080e2a36c2521d8207d3b24af83bc429c9516e 100644 --- a/libavformat/rm.h +++ b/libavformat/rm.h @@ -50,7 +50,7 @@ extern AVInputFormat ff_rdt_demuxer; */ int ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb, AVStream *st, RMStream *rst, - int codec_data_size, const uint8_t *mime); + unsigned int codec_data_size, const uint8_t *mime); /** * Parse one rm-stream packet from the input bytestream. diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c index 19bd7a7a0b2375ea459abad233b946e2a2bbc0d6..d6fc59f5927c24b3fde697542de3d4019083b16f 100644 --- a/libavformat/rmdec.c +++ b/libavformat/rmdec.c @@ -303,16 +303,16 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVIOContext *pb, return 0; } -int -ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb, - AVStream *st, RMStream *rst, int codec_data_size, const uint8_t *mime) +int ff_rm_read_mdpr_codecdata(AVFormatContext *s, AVIOContext *pb, + AVStream *st, RMStream *rst, + unsigned int codec_data_size, const uint8_t *mime) { unsigned int v; int size; int64_t codec_pos; int ret; - if (codec_data_size < 0) + if (codec_data_size > INT_MAX) return AVERROR_INVALIDDATA; avpriv_set_pts_info(st, 64, 1, 1000);