Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adjust assert to allow trailing bytes #121

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions lib/ipv4.ml
Original file line number Diff line number Diff line change
Expand Up @@ -184,10 +184,8 @@ module Make(Ethif : V1_LWT.ETHIF) (Clock : V1.CLOCK) (Time : V1_LWT.TIME) = stru
let ihl = (Wire_structs.Ipv4_wire.get_ipv4_hlen_version buf land 0xf) * 4 in
let src = Ipaddr.V4.of_int32 (Wire_structs.Ipv4_wire.get_ipv4_src buf) in
let dst = Ipaddr.V4.of_int32 (Wire_structs.Ipv4_wire.get_ipv4_dst buf) in
let payload_len = Wire_structs.Ipv4_wire.get_ipv4_len buf - ihl in
(* XXX this will raise exception for 0-length payload *)
let hdr, data = Cstruct.split buf ihl in
assert (Cstruct.len data = payload_len);
let proto = Wire_structs.Ipv4_wire.get_ipv4_proto buf in
match Wire_structs.Ipv4_wire.int_to_protocol proto with
| Some `ICMP -> icmp_input t src hdr data
Expand Down