[FFmpeg-devel] [PATCH 1/2] avformat/url: check double dot is not directory

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Jul 24 18:25:07 EEST 2020


Steven Liu:
> fix ticket: 8814
> if get double dot in the url, check next byte by double dot,
> it there have no '/', it is not directory double dot
> 
> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> ---
>  libavformat/url.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/libavformat/url.c b/libavformat/url.c
> index 20463a6674..92cb4ea116 100644
> --- a/libavformat/url.c
> +++ b/libavformat/url.c
> @@ -97,6 +97,10 @@ static void trim_double_dot_url(char *buf, const char *rel, int size)
>      /* set new current position if the root node is changed */
>      p = root;
>      while (p && (node = strstr(p, ".."))) {
> +        if (node[2] != '/') {
> +            av_strlcpy(buf, rel, size);;

double ;

> +            return;
> +        }

A url that contains a .. that does not mean "parent folder" can
nevertheless contain a .. meaning "parent folder" lateron, so I don't
think you can simply return here.

>          av_strlcat(tmp_path, p, node - p + strlen(tmp_path));
>          p = node + 3;
>          sep = strrchr(tmp_path, '/');
> 



More information about the ffmpeg-devel mailing list