SDL: Fixed undefined behavior in SDL_memset() (thanks andrewrk!)

From ab6d0d4d509ec0d5a60f01a59216e9cf87edd67c Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 28 Dec 2021 15:58:15 -0800
Subject: [PATCH] Fixed undefined behavior in SDL_memset() (thanks andrewrk!)

Fixes https://github.com/libsdl-org/SDL/issues/5147
---
 src/stdlib/SDL_string.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/stdlib/SDL_string.c b/src/stdlib/SDL_string.c
index 8f2aadec759..0fe08753024 100644
--- a/src/stdlib/SDL_string.c
+++ b/src/stdlib/SDL_string.c
@@ -295,7 +295,7 @@ SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, size_t len)
         }
     }
 
-    value4 = (c | (c << 8) | (c << 16) | (c << 24));
+    value4 = ((Uint32)c | ((Uint32)c << 8) | ((Uint32)c << 16) | ((Uint32)c << 24));
     dstp4 = (Uint32 *) dstp1;
     left = (len % 4);
     len /= 4;