1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

checker: error if smaller signed == unsigned (#14078)

This commit is contained in:
Nick Treleaven
2022-04-25 10:09:25 +01:00
committed by GitHub
parent 147e6e669f
commit d8a5df9044
11 changed files with 116 additions and 21 deletions

View File

@ -223,7 +223,7 @@ pub fn (mut ws Client) parse_frame_header() ?Frame {
buffer[bytes_read] = rbuff[0]
bytes_read++
// parses the first two header bytes to get basic frame information
if bytes_read == u64(websocket.header_len_offset) {
if bytes_read == websocket.header_len_offset {
frame.fin = (buffer[0] & 0x80) == 0x80
frame.rsv1 = (buffer[0] & 0x40) == 0x40
frame.rsv2 = (buffer[0] & 0x20) == 0x20
@ -249,7 +249,7 @@ pub fn (mut ws Client) parse_frame_header() ?Frame {
break
}
}
if frame.payload_len == 126 && bytes_read == u64(websocket.extended_payload16_end_byte) {
if frame.payload_len == 126 && bytes_read == websocket.extended_payload16_end_byte {
frame.header_len += 2
frame.payload_len = 0
frame.payload_len |= int(u32(buffer[2]) << 8)
@ -259,7 +259,7 @@ pub fn (mut ws Client) parse_frame_header() ?Frame {
break
}
}
if frame.payload_len == 127 && bytes_read == u64(websocket.extended_payload64_end_byte) {
if frame.payload_len == 127 && bytes_read == websocket.extended_payload64_end_byte {
frame.header_len += 8
// these shift operators needs 64 bit on clang with -prod flag
mut payload_len := u64(0)