Nevermind, disregard. They do not, and I misread. Thanks for catching this.
On Sat, Mar 2, 2024 at 8:31 PM Marth64 <mart...@proxyid.net> wrote: > FYI: hls, dashdec do the same av_freep(). Doesn't make this right, but > saying that was where I used as an example (so they should probably fixed > too?) > > On Sat, Mar 2, 2024 at 10:17 AM Andreas Rheinhardt < > andreas.rheinha...@outlook.com> wrote: > >> James Almer: >> > On 3/2/2024 12:47 PM, Andreas Rheinhardt wrote: >> >> Andreas Rheinhardt: >> >>> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> >> >>> --- >> >>> How has this slipped through? >> >> >> >> Answer: AVIOContext starts with an AVClass* that is unset when using >> >> ffio_init_context(). Therefore the av_freep() leads to freeing of a >> NULL >> >> pointer which does not segfault. >> > >> > Would setting s->av_class to &ff_avio_options in ffio_init_context() >> > prevent this from happening again? >> > >> >> ff_avio_options is not an AVClass, so this is wrong; setting it to >> ff_avio_class would also be wrong, because said class is only to be used >> with the URLProtocol-based AVIOContexts (the child_next and >> child_class_iterate callbacks are designed for this; the former returns >> the AVIOContext's opaque, believing it to point to an URLContext, yet in >> general it need not point to an AVClass-enabled struct at all). >> >> In fact, ff_avio_options etc. should be moved to avio.c. I'll look into >> this. >> >> >> >> >>> Btw: This patchset is based upon code inspection, not on reading >> >>> actual files. >> >>> >> >>> libavformat/dvdvideodec.c | 1 - >> >>> 1 file changed, 1 deletion(-) >> >>> >> >>> diff --git a/libavformat/dvdvideodec.c b/libavformat/dvdvideodec.c >> >>> index ef2d4e6df4..f2f23affb2 100644 >> >>> --- a/libavformat/dvdvideodec.c >> >>> +++ b/libavformat/dvdvideodec.c >> >>> @@ -1202,7 +1202,6 @@ static void >> >>> dvdvideo_subdemux_close(AVFormatContext *s) >> >>> DVDVideoDemuxContext *c = s->priv_data; >> >>> av_freep(&c->mpeg_pb.pub.buffer); >> >>> - av_freep(&c->mpeg_pb); >> >>> avformat_close_input(&c->mpeg_ctx); >> >>> } >> >>> >> >> >> >> _______________________________________________ >> 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". >> > _______________________________________________ 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".