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

checker: improve checking of a << b, when a and b are numbers (#12589)

This commit is contained in:
Delyan Angelov
2021-11-29 02:48:49 +02:00
committed by GitHub
parent fe37da31a8
commit 6d97b0a407
33 changed files with 436 additions and 148 deletions

View File

@ -252,8 +252,8 @@ pub fn (mut ws Client) parse_frame_header() ?Frame {
if frame.payload_len == 126 && bytes_read == u64(websocket.extended_payload16_end_byte) {
frame.header_len += 2
frame.payload_len = 0
frame.payload_len |= buffer[2] << 8
frame.payload_len |= buffer[3]
frame.payload_len |= int(u32(buffer[2]) << 8)
frame.payload_len |= int(buffer[3])
frame.frame_size = frame.header_len + frame.payload_len
if !frame.has_mask {
break

View File

@ -177,7 +177,7 @@ pub fn (mut ws Client) listen() ? {
ws.close(1002, 'close payload cannot be 1 byte') ?
return error('close payload cannot be 1 byte')
}
code := (int(msg.payload[0]) << 8) + int(msg.payload[1])
code := u16(msg.payload[0]) << 8 | u16(msg.payload[1])
if code in invalid_close_codes {
ws.close(1002, 'invalid close code: $code') ?
return error('invalid close code: $code')