Add integer overflow check
This commit is contained in:
parent
e1084052a7
commit
3dfab6fb64
1 changed files with 9 additions and 1 deletions
|
@ -72,7 +72,15 @@ fn add_to_ancillary_data<T: Clone>(
|
|||
cmsg_level: libc::c_int,
|
||||
cmsg_type: libc::c_int,
|
||||
) -> bool {
|
||||
let len = (source.len() * size_of::<T>()) as u32;
|
||||
let len = if let Some(len) = source.len().checked_mul(size_of::<T>()) {
|
||||
if let Ok(len) = u32::try_from(len) {
|
||||
len
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
};
|
||||
|
||||
unsafe {
|
||||
let additional_space = libc::CMSG_SPACE(len) as usize;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue