svn commit: r340772 - head/sys/amd64/ia32

Mark Johnston markj at FreeBSD.org
Thu Nov 22 17:51:20 UTC 2018


Author: markj
Date: Thu Nov 22 17:51:19 2018
New Revision: 340772
URL: https://svnweb.freebsd.org/changeset/base/340772

Log:
  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 at ioactive.com>
  Reviewed by:	kib
  MFC after:	3 days
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D18298

Modified:
  head/sys/amd64/ia32/ia32_signal.c

Modified: head/sys/amd64/ia32/ia32_signal.c
==============================================================================
--- head/sys/amd64/ia32/ia32_signal.c	Thu Nov 22 16:55:09 2018	(r340771)
+++ head/sys/amd64/ia32/ia32_signal.c	Thu Nov 22 17:51:19 2018	(r340772)
@@ -364,12 +364,14 @@ ia32_osendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t
 	/* 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;


More information about the svn-src-all mailing list