Skip to content

Commit

Permalink
fix: guard against division by zero in libbpf-rs
Browse files Browse the repository at this point in the history
  • Loading branch information
EHfive committed Apr 5, 2024
1 parent 9ae58b6 commit 3301262
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions src/instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -919,12 +919,14 @@ fn remove_binding_and_ct_entires(skel: &EinatSkel, external_addr: IpAddr) -> Res
}
}

map_binding.delete_batch(
&to_delete_binding_keys,
(to_delete_binding_keys.len() / core::mem::size_of::<MapBindingKey>()) as _,
MapFlags::ANY,
MapFlags::ANY,
)?;
if !to_delete_binding_keys.is_empty() {
map_binding.delete_batch(
&to_delete_binding_keys,
(to_delete_binding_keys.len() / core::mem::size_of::<MapBindingKey>()) as _,
MapFlags::ANY,
MapFlags::ANY,
)?;
}

let mut to_delete_ct_keys = Vec::new();
for ct_key_raw in map_ct.keys() {
Expand All @@ -934,12 +936,14 @@ fn remove_binding_and_ct_entires(skel: &EinatSkel, external_addr: IpAddr) -> Res
}
}

map_ct.delete_batch(
&to_delete_ct_keys,
(to_delete_ct_keys.len() / core::mem::size_of::<MapCtKey>()) as _,
MapFlags::ANY,
MapFlags::ANY,
)?;
if !to_delete_ct_keys.is_empty() {
map_ct.delete_batch(
&to_delete_ct_keys,
(to_delete_ct_keys.len() / core::mem::size_of::<MapCtKey>()) as _,
MapFlags::ANY,
MapFlags::ANY,
)?;
}

Ok(())
}
Expand Down

0 comments on commit 3301262

Please sign in to comment.