1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

swscale/swscale: Use ptrdiff_t for linesize computations

This is unlikely to make a difference

Fixes: CID1591896 Unintentional integer overflow
Fixes: CID1591901 Unintentional integer overflow

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 66b60bae68)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2024-06-09 16:31:28 +02:00
parent 5b2860a722
commit 28d9f116f9
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64

View File

@ -1169,7 +1169,7 @@ int sws_receive_slice(struct SwsContext *c, unsigned int slice_start,
}
for (int i = 0; i < FF_ARRAY_ELEMS(dst); i++) {
ptrdiff_t offset = c->frame_dst->linesize[i] * (slice_start >> c->chrDstVSubSample);
ptrdiff_t offset = c->frame_dst->linesize[i] * (ptrdiff_t)(slice_start >> c->chrDstVSubSample);
dst[i] = FF_PTR_ADD(c->frame_dst->data[i], offset);
}
@ -1230,7 +1230,7 @@ void ff_sws_slice_worker(void *priv, int jobnr, int threadnr,
for (int i = 0; i < FF_ARRAY_ELEMS(dst) && parent->frame_dst->data[i]; i++) {
const int vshift = (i == 1 || i == 2) ? c->chrDstVSubSample : 0;
const ptrdiff_t offset = parent->frame_dst->linesize[i] *
((slice_start + parent->dst_slice_start) >> vshift);
(ptrdiff_t)((slice_start + parent->dst_slice_start) >> vshift);
dst[i] = parent->frame_dst->data[i] + offset;
}