[FFmpeg-devel] [PATCH] fftools/ffmpeg_mux_init: avoid invalid reads in forced keyframe parsing

Zhao Zhili quinkblack at foxmail.com
Sat Mar 11 13:45:30 EET 2023



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Anton Khirnov
> Sent: 2023年3月11日 18:37
> To: 'FFmpeg development discussions and patches' <ffmpeg-devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg_mux_init: avoid invalid reads in forced keyframe parsing
> 
> Quoting Zhao Zhili (2023-03-10 15:44:56)
> >
> > > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Anton Khirnov
> > > Sent: 2023年3月10日 21:46
> > > To: ffmpeg-devel at ffmpeg.org
> > > Subject: [FFmpeg-devel] [PATCH] fftools/ffmpeg_mux_init: avoid invalid reads in forced keyframe parsing
> > >
> > > Fixes #10243
> > > ---
> > >  fftools/ffmpeg_mux_init.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
> > > index b3cc502fdd..09d24ba8e5 100644
> > > --- a/fftools/ffmpeg_mux_init.c
> > > +++ b/fftools/ffmpeg_mux_init.c
> > > @@ -2063,7 +2063,7 @@ static void parse_forced_key_frames(KeyframeForceCtx *kf, const Muxer *mux,
> > >          if (next)
> > >              *next++ = 0;
> > >
> > > -        if (!memcmp(p, "chapters", 8)) {
> > > +        if (strstr(p, "chapters") == p) {
> >
> > Does strncmp() more efficient in this case?
> 
> I don't see the point of optimizing this code for speed. A strncmp call
> is longer and less readable IMO.

This is a case for the need of a strstarts(). strncmp is more intuitive than strstr()
for this job.

https://github.com/torvalds/linux/blob/master/include/linux/string.h#L215

static inline bool strstarts(const char *str, const char *prefix)
{
	return strncmp(str, prefix, strlen(prefix)) == 0;
}

> 
> --
> Anton Khirnov
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list