1
0
mirror of https://github.com/fafhrd91/actix-web synced 2024-11-27 17:52:56 +01: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(),