Browse Source

avformat/movenc: Check that track_width_1616 fits within the available 32bit before storing it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.7
Michael Niedermayer 10 years ago
parent
commit
061a592b9c
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavformat/movenc.c

+ 3
- 1
libavformat/movenc.c View File

@@ -2371,7 +2371,9 @@ static int mov_write_tkhd_tag(AVIOContext *pb, MOVMuxContext *mov,
int64_t track_width_1616 = av_rescale(st->sample_aspect_ratio.num,
track->enc->width * 0x10000LL,
st->sample_aspect_ratio.den);
if (!track_width_1616 || track->height != track->enc->height)
if (!track_width_1616 ||
track->height != track->enc->height ||
track_width_1616 > UINT32_MAX)
track_width_1616 = track->enc->width * 0x10000;
avio_wb32(pb, track_width_1616);
avio_wb32(pb, track->height * 0x10000);


Loading…
Cancel
Save