SDL: fix integer overflow ub in testautomation_sdltest (b674b)

From b674b715f5c40edd92074044a23be9bdbe9e8ddc Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Mon, 6 Jan 2025 13:18:03 -0500
Subject: [PATCH] fix integer overflow ub in testautomation_sdltest

(cherry-picked from commit f804293a278ccac2ad849848abc43e7f8235efcd)
---
 test/testautomation_sdltest.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/test/testautomation_sdltest.c b/test/testautomation_sdltest.c
index 98661be98e081..34941b49e97db 100644
--- a/test/testautomation_sdltest.c
+++ b/test/testautomation_sdltest.c
@@ -1063,17 +1063,15 @@ static int SDLCALL sdltest_randomIntegerInRange(void *arg)
     SDLTest_AssertPass("Call to SDLTest_RandomIntegerInRange(max,min)");
     SDLTest_AssertCheck(min <= result && result <= max, "Validated returned value; expected: [%" SDL_PRIs32 ",%" SDL_PRIs32 "], got: %" SDL_PRIs32, min, max, result);
 
-#if 0 /* This test correctly triggers an asan warning: runtime error: signed integer overflow: 2147483647 + 4239 cannot be represented in type 'int' */
     /* Range with min at integer limit */
     min = long_min;
-    max = long_max + (Sint32)SDLTest_RandomSint16();
+    max = long_min + (Sint32)SDLTest_RandomUint16();
     result = SDLTest_RandomIntegerInRange(min, max);
     SDLTest_AssertPass("Call to SDLTest_RandomIntegerInRange(SINT32_MIN,...)");
     SDLTest_AssertCheck(min <= result && result <= max, "Validated returned value; expected: [%" SDL_PRIs32 ",%" SDL_PRIs32 "], got: %" SDL_PRIs32, min, max, result);
-#endif
 
     /* Range with max at integer limit */
-    min = (Sint32)((Uint32)long_min + (Uint32)SDLTest_RandomSint16());
+    min = long_max - (Sint32)SDLTest_RandomUint16();
     max = long_max;
     result = SDLTest_RandomIntegerInRange(min, max);
     SDLTest_AssertPass("Call to SDLTest_RandomIntegerInRange(...,SINT32_MAX)");