rfb: be more strict parsing the version

pull/9083/head
Sascha Steinbiss 3 years ago committed by Victor Julien
parent dd786cd6e4
commit bd1fbf392e

@ -18,6 +18,7 @@
// Author: Frank Honza <frank.honza@dcso.de>
use nom7::bytes::streaming::take;
use nom7::bytes::streaming::tag;
use nom7::combinator::map_res;
use nom7::number::streaming::*;
use nom7::*;
@ -115,12 +116,11 @@ pub struct ServerInit {
}
pub fn parse_protocol_version(i: &[u8]) -> IResult<&[u8], ProtocolVersion> {
let (i, _rfb_string) = map_res(take(3_usize), str::from_utf8)(i)?;
let (i, _) = be_u8(i)?;
let (i, _) = tag("RFB ")(i)?;
let (i, major) = map_res(take(3_usize), str::from_utf8)(i)?;
let (i, _) = be_u8(i)?;
let (i, _) = tag(".")(i)?;
let (i, minor) = map_res(take(3_usize), str::from_utf8)(i)?;
let (i, _) = be_u8(i)?;
let (i, _) = tag("\n")(i)?;
Ok((
i,
ProtocolVersion {

Loading…
Cancel
Save