summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2008-11-10 23:26:52 +0000
committerpeter <peter@FreeBSD.org>2008-11-10 23:26:52 +0000
commit82e115654cf5ec7618b8caddd4509d2949d8f3e8 (patch)
tree40a2042e1f03097e86293b37cb0645a7fa09cfa2 /sys/compat
parent164e43d89e6cd9009841a62c453212aaf060195f (diff)
downloadFreeBSD-src-82e115654cf5ec7618b8caddd4509d2949d8f3e8.zip
FreeBSD-src-82e115654cf5ec7618b8caddd4509d2949d8f3e8.tar.gz
Fix a signal emulation bug introduced in r163018 (and present in 7.x).
This prevents 32 bit signal handlers from finding out what the faulting address is. Both the secret 4th argument and siginfo->si_addr are zero.
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index f75c9af..3021d33 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -2442,7 +2442,7 @@ siginfo_to_siginfo32(siginfo_t *src, struct siginfo32 *dst)
dst->si_pid = src->si_pid;
dst->si_uid = src->si_uid;
dst->si_status = src->si_status;
- dst->si_addr = dst->si_addr;
+ dst->si_addr = src->si_addr;
dst->si_value.sigval_int = src->si_value.sival_int;
dst->si_timerid = src->si_timerid;
dst->si_overrun = src->si_overrun;
OpenPOWER on IntegriCloud