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

This commit is contained in:
Ozkan Sezer 2018-02-25 10:15:00 +03:00
parent cbfee82dff
commit 3ea093cc85
1 changed files with 16 additions and 10 deletions

View File

@ -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;
}