Yes, I have a custom log callback. I have multiple files open and I'd like to associate logged errors with the correct file, which I am doing through the objects that have an "opaque" member (not all, but most do). I don't think this is any abuse of the API as it does state that the first member of a struct passed through av_log should be AVClass*.
The solution for now is to check for a null pointer e.g. in the log callback, "if ((AVClass**)ptr[0])==NULL)" The helper log functions such as av_default_item_name() do not have this check, perhaps that is the real problem here. I'm not so sure it is required to be non-null given that the features of AVClass may not be useful to every object, e.g. options and such may not be appropriate for private objects. On Tue, Mar 4, 2025 at 4:36 PM Andreas Rheinhardt < andreas.rheinha...@outlook.com> wrote: > John Dorian: > > I discovered a crash here if log handler function tries to get the class > > name from "s" > > > > mpeg12dec.c: > > if (get_bits_left(&s->gb) < 0) { > > av_log(s, AV_LOG_ERROR, "overread %d\n", > -get_bits_left(&s->gb)); > > return AVERROR_INVALIDDATA; > > } > > > > And it seems to be because MpegEncContext->class is never initialized (or > > rather it is initialized to 0) due to av_malloc_z() I assume. > > > > So the question is, is it valid for any av object to have its av_class > set > > to 0. > > Here is the patch: > https://ffmpeg.org/pipermail/ffmpeg-devel/2025-March/340615.html > My reading of log.h is that it is illegal for the pointer to an AVClass > to be NULL. The default log callback handles this gracefully, so I > presume you are using a custom log callback. > > - 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". > _______________________________________________ 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".