melib: fix out-of-bounds parser bug
parent
4048eab424
commit
3dfb2f4f2c
|
@ -416,7 +416,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_attachments() {
|
fn test_attachments() {
|
||||||
return;
|
/*
|
||||||
let mut default = Draft::default();
|
let mut default = Draft::default();
|
||||||
default.set_body("αδφαφσαφασ".to_string());
|
default.set_body("αδφαφσαφασ".to_string());
|
||||||
|
|
||||||
|
@ -434,6 +434,7 @@ mod tests {
|
||||||
.set_content_transfer_encoding(ContentTransferEncoding::Base64);
|
.set_content_transfer_encoding(ContentTransferEncoding::Base64);
|
||||||
default.attachments_mut().push(attachment);
|
default.attachments_mut().push(attachment);
|
||||||
println!("{}", default.finalise().unwrap());
|
println!("{}", default.finalise().unwrap());
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -488,8 +488,13 @@ fn display_addr(input: &[u8]) -> IResult<&[u8], Address> {
|
||||||
length: end,
|
length: end,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
let rest_start = if input.len() > end + display_name.length + 2 {
|
||||||
|
end + display_name.length + 3
|
||||||
|
} else {
|
||||||
|
end + display_name.length + 2
|
||||||
|
};
|
||||||
IResult::Done(
|
IResult::Done(
|
||||||
&input[end + display_name.length + 3..],
|
&input[rest_start..],
|
||||||
Address::Mailbox(MailboxAddress {
|
Address::Mailbox(MailboxAddress {
|
||||||
raw,
|
raw,
|
||||||
display_name,
|
display_name,
|
||||||
|
|
|
@ -14,8 +14,8 @@ fn main() -> Result<()> {
|
||||||
filename.display()
|
filename.display()
|
||||||
));
|
));
|
||||||
let env = Envelope::from_bytes(&buffer.as_bytes(), None).expect("Couldn't parse email");
|
let env = Envelope::from_bytes(&buffer.as_bytes(), None).expect("Couldn't parse email");
|
||||||
debug!("Env is {:#?}", env);
|
eprintln!("Env is {:#?}", env);
|
||||||
debug!(env.body_bytes(buffer.as_bytes()));
|
eprintln!("{:?}", env.body_bytes(buffer.as_bytes()));
|
||||||
} else {
|
} else {
|
||||||
println!("it's not a file");
|
println!("it's not a file");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue