Browse Source

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

Fixes https://github.com/libsdl-org/SDL/issues/5147
Sam Lantinga 3 years ago
parent
commit
ab6d0d4d50
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/stdlib/SDL_string.c

+ 1 - 1
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;