mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/rtpenc_rfc4175: Use 64bit in computation if copy_offset
Found while reviewing: CID1494441 Untrusted value as argument Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
38c2e6a2c7
commit
f13ae63259
|
@ -116,7 +116,7 @@ void ff_rtp_send_raw_rfc4175(AVFormatContext *s1, const uint8_t *buf, int size,
|
||||||
int l_field;
|
int l_field;
|
||||||
int l_line;
|
int l_line;
|
||||||
int l_off;
|
int l_off;
|
||||||
int copy_offset;
|
int64_t copy_offset;
|
||||||
|
|
||||||
length = (headers[0] << 8) | headers[1];
|
length = (headers[0] << 8) | headers[1];
|
||||||
l_field = (headers[2] & 0x80) >> 7;
|
l_field = (headers[2] & 0x80) >> 7;
|
||||||
|
@ -127,7 +127,7 @@ void ff_rtp_send_raw_rfc4175(AVFormatContext *s1, const uint8_t *buf, int size,
|
||||||
|
|
||||||
if (interlaced)
|
if (interlaced)
|
||||||
l_line = 2 * l_line + l_field;
|
l_line = 2 * l_line + l_field;
|
||||||
copy_offset = (l_line * width + l_off) * pgroup / xinc;
|
copy_offset = (l_line * (int64_t)width + l_off) * pgroup / xinc;
|
||||||
if (copy_offset + length > size)
|
if (copy_offset + length > size)
|
||||||
break;
|
break;
|
||||||
memcpy (dest, buf + copy_offset, length);
|
memcpy (dest, buf + copy_offset, length);
|
||||||
|
|
Loading…
Reference in New Issue