diff options
-rw-r--r-- | sys/security/audit/audit_arg.c | 3 | ||||
-rw-r--r-- | sys/security/audit/audit_private.h | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/sys/security/audit/audit_arg.c b/sys/security/audit/audit_arg.c index ea569f7..76aeb4d 100644 --- a/sys/security/audit/audit_arg.c +++ b/sys/security/audit/audit_arg.c @@ -417,8 +417,7 @@ audit_arg_sockaddr(struct thread *td, struct sockaddr *sa) if (ar == NULL) return; - bcopy(sa, &ar->k_ar.ar_arg_sockaddr, - sizeof(ar->k_ar.ar_arg_sockaddr)); + bcopy(sa, &ar->k_ar.ar_arg_sockaddr, sa->sa_len); switch (sa->sa_family) { case AF_INET: ARG_SET_VALID(ar, ARG_SADDRINET); diff --git a/sys/security/audit/audit_private.h b/sys/security/audit/audit_private.h index e232bcd..660e7c2 100644 --- a/sys/security/audit/audit_private.h +++ b/sys/security/audit/audit_private.h @@ -200,7 +200,6 @@ struct audit_record { u_int ar_arg_signum; char ar_arg_login[MAXLOGNAME]; int ar_arg_ctlname[CTL_MAXNAME]; - struct sockaddr ar_arg_sockaddr; struct socket_au_info ar_arg_sockinfo; char *ar_arg_upath1; char *ar_arg_upath2; @@ -221,6 +220,7 @@ struct audit_record { int ar_arg_envc; int ar_arg_exitstatus; int ar_arg_exitretval; + struct sockaddr_storage ar_arg_sockaddr; }; /* |