aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-01-25 21:30:04 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2019-03-24 10:38:51 +0100
commit136ec39a2f810f8bbdb29d80aeb3ee430e6eecd8 (patch)
treedc0b7c2c9dcbc3a3d59928f9cb66ce9ae33bd4c7
parentd3aab63320657ce0c567bd5deedbbe0cf567086c (diff)
downloadffmpeg-136ec39a2f810f8bbdb29d80aeb3ee430e6eecd8.tar.gz
avformat/rtsp: Check number of streams in sdp_parse_line()
Fixes: OOM Found-by: Michael Hanselmann <public@hansmi.ch> Reviewed-by: Michael Hanselmann <public@hansmi.ch> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 497c9b0cce559d43607bbbd679fe42f1d7e9040e) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/rtsp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 0524ced682..91176420c8 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -446,7 +446,10 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
} else if (!strcmp(st_type, "text")) {
codec_type = AVMEDIA_TYPE_SUBTITLE;
}
- if (codec_type == AVMEDIA_TYPE_UNKNOWN || !(rt->media_type_mask & (1 << codec_type))) {
+ if (codec_type == AVMEDIA_TYPE_UNKNOWN ||
+ !(rt->media_type_mask & (1 << codec_type)) ||
+ rt->nb_rtsp_streams >= s->max_streams
+ ) {
s1->skip_media = 1;
return;
}