> 2020年2月28日 下午5:53,Andreas Rheinhardt <andreas.rheinha...@gmail.com> 写道: > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> > --- > libavformat/hlsenc.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c > index a281c379f0..18f40ff3ed 100644 > --- a/libavformat/hlsenc.c > +++ b/libavformat/hlsenc.c > @@ -1610,6 +1610,8 @@ static int hls_start(AVFormatContext *s, VariantStream > *vs) > if (c->use_localtime_mkdir) { > const char *dir; > char *fn_copy = av_strdup(oc->url); > + if (!fn_copy) > + return AVERROR(ENOMEM); > dir = av_dirname(fn_copy); > if (ff_mkdir_p(dir) == -1 && errno != EEXIST) { > av_log(oc, AV_LOG_ERROR, "Could not create directory %s > with use_localtime_mkdir\n", dir); > @@ -1770,6 +1772,8 @@ static int validate_name(int nb_vs, const char *fn) > } > > fn_dup = av_strdup(fn); > + if (!fn_dup) > + return AVERROR(ENOMEM); > filename = av_basename(fn); > subdir_name = av_dirname(fn_dup); > > @@ -2139,6 +2143,8 @@ static int update_master_pl_info(AVFormatContext *s) > int ret = 0; > > fn1 = av_strdup(s->url); > + if (!fn1) > + return AVERROR(ENOMEM); It’s unnecessary here, I have checked all strdup return checker in hlsenc some month ago, and double check the workflow in update_master_pl_info, It's the safe whether you check the strdup or not. Reference commit id: 61aa77272a25d83e5ce5c63d93c64bb9a3e15557 > dir = av_dirname(fn1); > > /** > @@ -2147,6 +2153,10 @@ static int update_master_pl_info(AVFormatContext *s) > */ > if (dir && av_stristr(av_basename(dir), "%v")) { > fn2 = av_strdup(dir); > + if (!fn2) { > + ret = AVERROR(ENOMEM); > + goto fail; > + } Ditto. > dir = av_dirname(fn2); > } > > @@ -2854,7 +2864,8 @@ static int hls_init(AVFormatContext *s) > if (hls->nb_varstreams > 1) { > if (av_stristr(vs->fmp4_init_filename, "%v")) { > av_freep(&vs->fmp4_init_filename); > - format_name(hls->fmp4_init_filename, > &vs->fmp4_init_filename, i, vs->varname); > + ret = format_name(hls->fmp4_init_filename, > + &vs->fmp4_init_filename, i, > vs->varname); > } else { > ret = append_postfix(vs->fmp4_init_filename, > fmp4_init_filename_len, i); > } > -- > 2.20.1 > > _______________________________________________ > 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”.
Thanks Steven Liu _______________________________________________ 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".