1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-12-21 15:46:48 +00:00

check if close code exists before reading it

This commit is contained in:
Nathan Fox 2018-04-20 21:30:18 -04:00
parent 9880a95603
commit 5528cf62f0

View file

@ -310,10 +310,14 @@ where
}
OpCode::Close => {
self.closed = true;
let code = NetworkEndian::read_uint(payload.as_ref(), 2) as u16;
Ok(Async::Ready(Some(Message::Close(CloseCode::from(
code,
)))))
let close_code = if payload.len() >= 2{
let raw_code = NetworkEndian::read_uint(payload.as_ref(), 2) as u16;
CloseCode::from(raw_code)
}else{
CloseCode::Status
};
Ok(Async::Ready(Some(Message::Close(close_code))))
}
OpCode::Ping => Ok(Async::Ready(Some(Message::Ping(
String::from_utf8_lossy(payload.as_ref()).into(),