Skip to content

Commit 4f22fff

Browse files
committed
Use read_unaligned in parse_tcp_state
1 parent 416f011 commit 4f22fff

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/integrations/linux/netlink_iterator.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use libc::*;
22
use std;
33
use std::io;
44
use std::mem::size_of;
5+
use std::ptr::read_unaligned;
56
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
67
use crate::integrations::linux::ffi::*;
78
use crate::integrations::linux::linux_bindings::{
@@ -10,7 +11,6 @@ use crate::integrations::linux::linux_bindings::{
1011
use crate::types::error::*;
1112
use crate::types::*;
1213

13-
1414
const TCPF_ALL: __u32 = 0xFFF;
1515
const SOCKET_BUFFER_SIZE: size_t = 8192;
1616

@@ -183,7 +183,7 @@ unsafe fn parse_tcp_state(diag_msg: &inet_diag_msg, rtalen: usize) -> TcpState {
183183
let mut attr = (diag_msg as *const inet_diag_msg).offset(1) as *const rtattr;
184184
while RTA_OK!(attr, len) {
185185
if (&*attr).rta_type == INET_DIAG_INFO as u16 {
186-
let tcpi = &*(RTA_DATA!(attr) as *const tcp_info);
186+
let tcpi = read_unaligned(RTA_DATA!(attr) as *const tcp_info);
187187
return TcpState::from(tcpi.tcpi_state);
188188
}
189189
attr = RTA_NEXT!(attr, len);

0 commit comments

Comments
 (0)