nfs2: improve READ parsing

Take fill_bytes into account.
pull/6764/head
Victor Julien 3 years ago
parent 2011a5579c
commit ddf14e51dc

@ -19,7 +19,7 @@
use crate::nfs::nfs_records::*;
use nom7::bytes::streaming::take;
use nom7::combinator::rest;
use nom7::combinator::{rest, cond};
use nom7::number::streaming::be_u32;
use nom7::IResult;
@ -69,7 +69,9 @@ pub fn parse_nfs2_reply_read(i: &[u8]) -> IResult<&[u8], NfsReplyRead> {
let (i, status) = be_u32(i)?;
let (i, attr_blob) = take(68_usize)(i)?;
let (i, data_len) = be_u32(i)?;
let (i, data_contents) = rest(i)?;
let (i, data_contents) = take(data_len)(i)?;
let fill_bytes = 4 - (data_len % 4);
let (i, _) = cond(fill_bytes != 0, take(fill_bytes))(i)?;
let reply = NfsReplyRead {
status,
attr_follows: 1,

Loading…
Cancel
Save