Commit 3ea093cc85b1dca64e912dfb3fb66fa1230ac06b

Ozkan Sezer 2018-02-25T10:15:00

SDL_test_fuzzer.c: fix strict aliasing warnings by using a union.

diff --git a/src/test/SDL_test_fuzzer.c b/src/test/SDL_test_fuzzer.c
index 37b9dc3..eee56a9 100644
--- a/src/test/SDL_test_fuzzer.c
+++ b/src/test/SDL_test_fuzzer.c
@@ -126,29 +126,35 @@ SDLTest_RandomUint32()
 Uint64
 SDLTest_RandomUint64()
 {
-    Uint64 value = 0;
-    Uint32 *vp = (void *)&value;
+    union {
+        Uint64 v64;
+        Uint32 v32[2];
+    } value;
+    value.v64 = 0;
 
     fuzzerInvocationCounter++;
 
-    vp[0] = SDLTest_RandomSint32();
-    vp[1] = SDLTest_RandomSint32();
+    value.v32[0] = SDLTest_RandomSint32();
+    value.v32[1] = SDLTest_RandomSint32();
 
-    return value;
+    return value.v64;
 }
 
 Sint64
 SDLTest_RandomSint64()
 {
-    Uint64 value = 0;
-    Uint32 *vp = (void *)&value;
+    union {
+        Uint64 v64;
+        Uint32 v32[2];
+    } value;
+    value.v64 = 0;
 
     fuzzerInvocationCounter++;
 
-    vp[0] = SDLTest_RandomSint32();
-    vp[1] = SDLTest_RandomSint32();
+    value.v32[0] = SDLTest_RandomSint32();
+    value.v32[1] = SDLTest_RandomSint32();
 
-    return value;
+    return (Sint64)value.v64;
 }