[FFmpeg-devel] [PATCH v2 3/6] avformat/rtsp: use MAX_URL_SIZE for one line parse

Martin Storsjö martin at martin.st
Tue Dec 7 11:27:32 EET 2021


On Mon, 6 Dec 2021, lance.lmwang at gmail.com wrote:

> From: Limin Wang <lance.lmwang at gmail.com>
>
> The buf is used for one line of sdp parsing, so it's ok to use MAX_URL_SIZE
>
> Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> ---
> libavformat/rtsp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
> index 5cffe0b..3e4a68a 100644
> --- a/libavformat/rtsp.c
> +++ b/libavformat/rtsp.c
> @@ -709,7 +709,7 @@ int ff_sdp_parse(AVFormatContext *s, const char *content)
> {
>     const char *p;
>     int letter, i;
> -    char buf[SDP_MAX_SIZE], *q;
> +    char buf[MAX_URL_SIZE], *q;
>     SDPParseState sdp_parse_state = { { 0 } }, *s1 = &sdp_parse_state;

No, this is not ok.

For the cases where a SDP is really big (vorbis, theora), then you have 
the majority of the size of the SDP in one line (the format specific fmtp 
line). I just tested generating a RTP stream with libvorbis, and the fmtp 
line ended up at 5194 bytes.

// Martin



More information about the ffmpeg-devel mailing list