Browse Source

EAP-TTLS: Avoid ubsan warning on 0x80<<24 not fitting in int

Use a typecast to make this unsigned so that the MSB fits within the
range of allowed values.

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen 9 years ago
parent
commit
e9ed7d9898
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/eap_peer/eap_ttls.c

+ 2 - 1
src/eap_peer/eap_ttls.c

@@ -175,7 +175,8 @@ static u8 * eap_ttls_avp_hdr(u8 *avphdr, u32 avp_code, u32 vendor_id,
 	}
 
 	avp->avp_code = host_to_be32(avp_code);
-	avp->avp_length = host_to_be32((flags << 24) | (u32) (hdrlen + len));
+	avp->avp_length = host_to_be32(((u32) flags << 24) |
+				       (u32) (hdrlen + len));
 
 	return avphdr + hdrlen;
 }