Avoid ubsan warning on 0x80<<24 not fitting in int in WPA_GET_BE32/LE32
Use a typecast to make this shift unsigned so that the MSB fits within the range of allowed values. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
cf6fd19b34
commit
476a634d60
1 changed files with 2 additions and 2 deletions
|
@ -262,7 +262,7 @@ static inline void WPA_PUT_BE24(u8 *a, u32 val)
|
|||
|
||||
static inline u32 WPA_GET_BE32(const u8 *a)
|
||||
{
|
||||
return (a[0] << 24) | (a[1] << 16) | (a[2] << 8) | a[3];
|
||||
return ((u32) a[0] << 24) | (a[1] << 16) | (a[2] << 8) | a[3];
|
||||
}
|
||||
|
||||
static inline void WPA_PUT_BE32(u8 *a, u32 val)
|
||||
|
@ -275,7 +275,7 @@ static inline void WPA_PUT_BE32(u8 *a, u32 val)
|
|||
|
||||
static inline u32 WPA_GET_LE32(const u8 *a)
|
||||
{
|
||||
return (a[3] << 24) | (a[2] << 16) | (a[1] << 8) | a[0];
|
||||
return ((u32) a[3] << 24) | (a[2] << 16) | (a[1] << 8) | a[0];
|
||||
}
|
||||
|
||||
static inline void WPA_PUT_LE32(u8 *a, u32 val)
|
||||
|
|
Loading…
Reference in a new issue