[FFmpeg-devel] [PATCH v5 2/3] libavformat/rtsp: Free memory allocated for temporary variables while processing sdp info

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Feb 26 10:52:58 EET 2025


Rashad Tatum:
> ---
>  libavformat/rtsp.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
> index 0c65f8d1a4..ac17717195 100644
> --- a/libavformat/rtsp.c
> +++ b/libavformat/rtsp.c
> @@ -478,6 +478,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
>                                                sdp_ip_str);
>  
>          }
> +        av_freep(&sdp_ip_str);
>          break;
>      case 's':
>          av_dict_set(&s->metadata, "title", p, 0);
> @@ -702,6 +703,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
>                      }
>                  }
>              }
> +            av_freep(&dest_addr);
>          } else {
>              if (rt->server_type == RTSP_SERVER_WMS)
>                  ff_wms_parse_sdp_a_line(s, p);

Your first patch introduces a memleak; the stuff you allocated there
should be freed in the patch, not fixed up in a later patch.
(Also note that there must not be a leak in any error path, which is not
true when your patchset is applied: dest_addr leaks when rtsp_src can't
be allocated.)

- Andreas



More information about the ffmpeg-devel mailing list