From b1644469c6291bc8dae550888c1921a889a1f070 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Wed, 5 Feb 2025 19:49:34 +0200 Subject: [PATCH] Allow zero BytesPerRow. --- od-win32/picasso96_win.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/od-win32/picasso96_win.cpp b/od-win32/picasso96_win.cpp index 8a7f616e..63ee9bdf 100644 --- a/od-win32/picasso96_win.cpp +++ b/od-win32/picasso96_win.cpp @@ -465,13 +465,24 @@ static bool validatecoords2(TrapContext *ctx, struct RenderInfo *ri, uae_u8 RGBF return false; } if (ri) { + int bpr = ri->BytesPerRow; + if (bpr < 0) { + return false; + } int bpp = GetBytesPerPixel(RGBFmt); - if (X * bpp >= ri->BytesPerRow) { + // zero is allowed (repeats same line * height) + if (!bpr) { + if (X) { + return false; + } + bpr = Width * bpp; + } + if (X * bpp >= bpr) { return false; } uae_u32 X2 = X + Width; - if (X2 * bpp > ri->BytesPerRow) { - X2 = ri->BytesPerRow / bpp; + if (X2 * bpp > bpr) { + X2 = bpr / bpp; Width = X2 - X; *Widthp = Width; } -- 2.47.3