mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
avcodec/srtdec: Fix signed integer overflow: 1811992524 * 384 cannot be represented in type 'int'
Fixes: 617/clusterfuzz-testcase-6413875723370496 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
59e5b05ef6
commit
c11d3634b0
@ -38,13 +38,13 @@ static void srt_to_ass(AVCodecContext *avctx, AVBPrint *dst,
|
||||
/* text rectangle defined, write the text at the center of the rectangle */
|
||||
const int cx = x1 + (x2 - x1)/2;
|
||||
const int cy = y1 + (y2 - y1)/2;
|
||||
const int scaled_x = cx * ASS_DEFAULT_PLAYRESX / 720;
|
||||
const int scaled_y = cy * ASS_DEFAULT_PLAYRESY / 480;
|
||||
const int scaled_x = cx * (int64_t)ASS_DEFAULT_PLAYRESX / 720;
|
||||
const int scaled_y = cy * (int64_t)ASS_DEFAULT_PLAYRESY / 480;
|
||||
av_bprintf(dst, "{\\an5}{\\pos(%d,%d)}", scaled_x, scaled_y);
|
||||
} else {
|
||||
/* only the top left corner, assume the text starts in that corner */
|
||||
const int scaled_x = x1 * ASS_DEFAULT_PLAYRESX / 720;
|
||||
const int scaled_y = y1 * ASS_DEFAULT_PLAYRESY / 480;
|
||||
const int scaled_x = x1 * (int64_t)ASS_DEFAULT_PLAYRESX / 720;
|
||||
const int scaled_y = y1 * (int64_t)ASS_DEFAULT_PLAYRESY / 480;
|
||||
av_bprintf(dst, "{\\an1}{\\pos(%d,%d)}", scaled_x, scaled_y);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user