Message ID | AS8P250MB074432A98088AE1C94D0E69F8FDA2@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] avformat/matroskaenc: Fix potential stack-buffer-overflow | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | fail | Make fate failed |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On 7/8/2024 2:52 PM, Andreas Rheinhardt wrote: > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > libavformat/matroskaenc.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c > index 4b91283119..a98d33abf3 100644 > --- a/libavformat/matroskaenc.c > +++ b/libavformat/matroskaenc.c > @@ -1799,10 +1799,14 @@ static int mkv_write_track_video(AVFormatContext *s, MatroskaMuxContext *mkv, > return AVERROR(EINVAL); > } > > - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPB, bottom); > - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPT, top); > - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPL, left); > - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPR, right); > + if (bottom) > + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPB, bottom); > + if (top) > + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPT, top); > + if (left) > + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPL, left); > + if (right) > + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPR, right); > > cropped_width -= left + right; > cropped_height -= top + bottom; LGTM.
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 4b91283119..a98d33abf3 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -1799,10 +1799,14 @@ static int mkv_write_track_video(AVFormatContext *s, MatroskaMuxContext *mkv, return AVERROR(EINVAL); } - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPB, bottom); - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPT, top); - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPL, left); - ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPR, right); + if (bottom) + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPB, bottom); + if (top) + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPT, top); + if (left) + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPL, left); + if (right) + ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOPIXELCROPR, right); cropped_width -= left + right; cropped_height -= top + bottom;
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavformat/matroskaenc.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)