mirror of
https://github.com/ioquake/ioq3.git
synced 2024-11-10 07:11:46 +00:00
Change shift expressions to unsigned types. Shifting signed values to
a result that is not representable has undefined behaviour.
This commit is contained in:
parent
7e2aa2c627
commit
ed1794fe17
6 changed files with 11 additions and 8 deletions
|
@ -1539,7 +1539,7 @@ void CL_RequestMotd( void ) {
|
|||
|
||||
info[0] = 0;
|
||||
|
||||
Com_sprintf( cls.updateChallenge, sizeof( cls.updateChallenge ), "%i", ((rand() << 16) ^ rand()) ^ Com_Milliseconds());
|
||||
Com_sprintf( cls.updateChallenge, sizeof( cls.updateChallenge ), "%i", (int)((((unsigned int)rand() << 16) ^ (unsigned int)rand()) ^ Com_Milliseconds()));
|
||||
|
||||
Info_SetValueForKey( info, "challenge", cls.updateChallenge );
|
||||
Info_SetValueForKey( info, "renderer", cls.glconfig.renderer_string );
|
||||
|
@ -1768,7 +1768,7 @@ void CL_Connect_f( void ) {
|
|||
clc.state = CA_CONNECTING;
|
||||
|
||||
// Set a client challenge number that ideally is mirrored back by the server.
|
||||
clc.challenge = ((rand() << 16) ^ rand()) ^ Com_Milliseconds();
|
||||
clc.challenge = (((unsigned int)rand() << 16) ^ (unsigned int)rand()) ^ Com_Milliseconds();
|
||||
}
|
||||
|
||||
Key_SetCatcher( 0 );
|
||||
|
|
|
@ -106,8 +106,11 @@ static void copy64(uint32_t *M, byte *in)
|
|||
int i;
|
||||
|
||||
for (i=0;i<16;i++)
|
||||
M[i] = (in[i*4+3]<<24) | (in[i*4+2]<<16) |
|
||||
(in[i*4+1]<<8) | (in[i*4+0]<<0);
|
||||
M[i] =
|
||||
((uint32_t)in[i*4+3] << 24) |
|
||||
((uint32_t)in[i*4+2] << 16) |
|
||||
((uint32_t)in[i*4+1] << 8) |
|
||||
((uint32_t)in[i*4+0] << 0) ;
|
||||
}
|
||||
|
||||
static void copy4(byte *out,uint32_t x)
|
||||
|
|
|
@ -52,7 +52,7 @@ to the new value before sending out any replies.
|
|||
#define FRAGMENT_SIZE (MAX_PACKETLEN - 100)
|
||||
#define PACKET_HEADER 10 // two ints and a short
|
||||
|
||||
#define FRAGMENT_BIT (1<<31)
|
||||
#define FRAGMENT_BIT (1U<<31)
|
||||
|
||||
cvar_t *showpackets;
|
||||
cvar_t *showdrop;
|
||||
|
|
|
@ -103,7 +103,7 @@ static int isu8(uint32_t v)
|
|||
|
||||
static int NextConstant4(void)
|
||||
{
|
||||
return (code[pc] | (code[pc+1]<<8) | (code[pc+2]<<16) | (code[pc+3]<<24));
|
||||
return ((unsigned int)code[pc] | ((unsigned int)code[pc+1]<<8) | ((unsigned int)code[pc+2]<<16) | ((unsigned int)code[pc+3]<<24));
|
||||
}
|
||||
|
||||
static int Constant4( void ) {
|
||||
|
|
|
@ -140,7 +140,7 @@ void SV_GetChallenge(netadr_t from)
|
|||
}
|
||||
|
||||
// always generate a new challenge number, so the client cannot circumvent sv_maxping
|
||||
challenge->challenge = ( (rand() << 16) ^ rand() ) ^ svs.time;
|
||||
challenge->challenge = ( ((unsigned int)rand() << 16) ^ (unsigned int)rand() ) ^ svs.time;
|
||||
challenge->wasrefused = qfalse;
|
||||
challenge->time = svs.time;
|
||||
|
||||
|
|
|
@ -468,7 +468,7 @@ void SV_SpawnServer( char *server, qboolean killBots ) {
|
|||
Cvar_Set("cl_paused", "0");
|
||||
|
||||
// get a new checksum feed and restart the file system
|
||||
sv.checksumFeed = ( ((int) rand() << 16) ^ rand() ) ^ Com_Milliseconds();
|
||||
sv.checksumFeed = ( ((unsigned int)rand() << 16) ^ (unsigned int)rand() ) ^ Com_Milliseconds();
|
||||
FS_Restart( sv.checksumFeed );
|
||||
|
||||
CM_LoadMap( va("maps/%s.bsp", server), qfalse, &checksum );
|
||||
|
|
Loading…
Reference in a new issue