> 在 2019年11月29日,13:57,Andreas Rheinhardt <andreas.rheinha...@gmail.com> 写道: > > Steven Liu: >> >> >>> 在 2019年11月29日,13:40,Andreas Rheinhardt <andreas.rheinha...@gmail.com> 写道: >>> >>> Jeyapal, Karthick: >>>> >>>> On 11/29/19 10:45 AM, Steven Liu wrote: >>>>> Signed-off-by: Steven Liu <l...@chinaffmpeg.org> >>>>> --- >>>>> libavformat/dashenc.c | 3 +-- >>>>> 1 file changed, 1 insertion(+), 2 deletions(-) >>>>> >>>>> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c >>>>> index a462876c13..8c28fb6b6e 100644 >>>>> --- a/libavformat/dashenc.c >>>>> +++ b/libavformat/dashenc.c >>>>> @@ -588,8 +588,7 @@ static void dash_free(AVFormatContext *s) >>>>> avio_close(os->ctx->pb); >>>>> } >>>>> ff_format_io_close(s, &os->out); >>>>> - if (os->ctx) >>>>> - avformat_free_context(os->ctx); >>>>> + avformat_free_context(os->ctx); >>>> This 'if' condition is a safety net against double frees caused due to any >>>> corner case and/or wrong usage. >>>> Unless this is absolutely required for some reason, this 'if' condition >>>> should not be removed. >>> >>> This 'if' doesn't help against double-frees at all: >>> avformat_free_context() itself checks against its argument being NULL >>> and returns immediately if it is. (But double frees are still possible >>> given that avformat_free_context can't reset the pointer to NULL due >>> to its signature. Resetting is something the callers have to do for >>> themselves.) >> What about add reset pointer to NULL into the avformat_free_context? > > This is pointless, because it will just reset the functions copy of > the pointer to NULL, not the callers pointer to the AVFormatContext. > In order to reset the latter, the parameter would have to be of type > AVFormatContext ** (and the call here would be > avformat_free_context(&os->ctx)). AVFormatContext **? Isn’t that too complex for user of the API caller? > > - Andreas > > _______________________________________________ > 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 _______________________________________________ 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".