aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/ia32
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2018-11-22 17:51:19 +0000
committerMark Johnston <markj@FreeBSD.org>2018-11-22 17:51:19 +0000
commit2910a161248fab507822dd840736537a19410025 (patch)
tree71668a8a8ed88c5b587219e4305c43178b973979 /sys/amd64/ia32
parentdc9874eaa0082a67b9fa3ffbaef7dbb18e067b19 (diff)
downloadsrc-2910a161248fab507822dd840736537a19410025.tar.gz
src-2910a161248fab507822dd840736537a19410025.zip
Clear unused bytes in ia32_osendsig().
Mirror the fix for the native i386 implementation from r218327. This code is compiled only when the non-default COMPAT_43 option is configured. Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: kib MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18298
Notes
Notes: svn path=/head/; revision=340772
Diffstat (limited to 'sys/amd64/ia32')
-rw-r--r--sys/amd64/ia32/ia32_signal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c
index ffc4693be184..f0ed9bd3eb0c 100644
--- a/sys/amd64/ia32/ia32_signal.c
+++ b/sys/amd64/ia32/ia32_signal.c
@@ -364,12 +364,14 @@ ia32_osendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_scp = (register_t)&fp->sf_siginfo.si_sc;
+ bzero(&sf.sf_siginfo, sizeof(sf.sf_siginfo));
if (SIGISMEMBER(psp->ps_siginfo, sig)) {
/* Signal handler installed with SA_SIGINFO. */
sf.sf_arg2 = (register_t)&fp->sf_siginfo;
sf.sf_siginfo.si_signo = sig;
sf.sf_siginfo.si_code = ksi->ksi_code;
sf.sf_ah = (uintptr_t)catcher;
+ sf.sf_addr = 0;
} else {
/* Old FreeBSD-style arguments. */
sf.sf_arg2 = ksi->ksi_code;