diff --git a/userspace/libsinsp/parsers.cpp b/userspace/libsinsp/parsers.cpp index af83388f0c..6e4e919939 100644 --- a/userspace/libsinsp/parsers.cpp +++ b/userspace/libsinsp/parsers.cpp @@ -4151,8 +4151,9 @@ void sinsp_parser::parse_rw_exit(sinsp_evt *evt) parinfo = evt->get_param(4); if(parinfo->m_len > sizeof(cmsghdr)) { - cmsghdr *cmsg = (cmsghdr *)parinfo->m_val; - if(cmsg->cmsg_type == SCM_RIGHTS) + cmsghdr cmsg; + memcpy(&cmsg, parinfo->m_val, sizeof(cmsghdr)); + if(cmsg.cmsg_type == SCM_RIGHTS) { char error[SCAP_LASTERR_SIZE]; scap_threadinfo scap_tinfo {};