diff options
author | Mark Johnston <markj@FreeBSD.org> | 2018-11-22 17:51:19 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2018-11-22 17:51:19 +0000 |
commit | 2910a161248fab507822dd840736537a19410025 (patch) | |
tree | 71668a8a8ed88c5b587219e4305c43178b973979 /sys/amd64/ia32 | |
parent | dc9874eaa0082a67b9fa3ffbaef7dbb18e067b19 (diff) | |
download | src-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.c | 2 |
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; |