--- libavformat/hlsenc.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 4ef84c05c1..dd1a461cce 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -1931,6 +1931,30 @@ fail: return ret; } +static int validate_subdir(const char *fn) +{ + const char *subdir_name; + char *fn_dup = NULL; + int ret = 0; + + if (!fn) + return AVERROR(EINVAL); + + fn_dup = av_strdup(fn); + if (!fn_dup) + return AVERROR(ENOMEM); + subdir_name = av_dirname(fn_dup); + + if (!av_stristr(subdir_name, "%v")) { + ret = AVERROR(EINVAL); + goto fail; + } + +fail: + av_freep(&fn_dup); + return ret; +} + static int format_name(const char *buf, char **s, int index, const char *varname) { const char *proto, *dir; @@ -3019,7 +3043,7 @@ static int hls_init(AVFormatContext *s) av_freep(&vs->fmp4_init_filename); ret = format_name(hls->fmp4_init_filename, &vs->fmp4_init_filename, i, vs->varname); - } else { + } else if (validate_subdir(s->url) < 0) { ret = append_postfix(vs->fmp4_init_filename, fmp4_init_filename_len, i); } if (ret < 0) -- 2.39.2 (Apple Git-143) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".