diff --git a/src/r_segs.c b/src/r_segs.c index 3059860cfc0983afc1ea3abd65765f8c815a7c33..502ff3304dab17ec4f54283608ee33fb74145b60 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -708,7 +708,10 @@ static void R_DrawRepeatMaskedColumn(column_t *col) { while (sprtopscreen < sprbotscreen) { R_DrawMaskedColumn(col); - sprtopscreen += dc_texheight*spryscale; + if ((INT64)sprtopscreen + dc_texheight*spryscale > (INT64)INT32_MAX) // prevent overflow + sprtopscreen = INT32_MAX; + else + sprtopscreen += dc_texheight*spryscale; } }