diff options
author | ps <ps@FreeBSD.org> | 2005-05-24 17:52:14 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2005-05-24 17:52:14 +0000 |
commit | 5f0ea7b68ee762b2a4ca6d1346eef29184ddea6f (patch) | |
tree | ec7e0d813c32c9cb405fc643e5620dd3c6180fcf /sys/compat | |
parent | f7eb133422e7403e32043b73c7d53caefc35ece8 (diff) | |
download | FreeBSD-src-5f0ea7b68ee762b2a4ca6d1346eef29184ddea6f.zip FreeBSD-src-5f0ea7b68ee762b2a4ca6d1346eef29184ddea6f.tar.gz |
Copyout to userland if kern_sigaction succeeds
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/freebsd32/freebsd32_misc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index d380bd8..49c03c1 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -1145,7 +1145,7 @@ freebsd32_sigaction(struct thread *td, struct freebsd32_sigaction_args *uap) } else sap = NULL; error = kern_sigaction(td, uap->sig, sap, &osa, 0); - if (error != 0 && uap->oact != NULL) { + if (error == 0 && uap->oact != NULL) { s32.sa_u = PTROUT(osa.sa_handler); CP(osa, s32, sa_flags); CP(osa, s32, sa_mask); @@ -1174,7 +1174,7 @@ freebsd4_freebsd32_sigaction(struct thread *td, } else sap = NULL; error = kern_sigaction(td, uap->sig, sap, &osa, KSA_FREEBSD4); - if (error != 0 && uap->oact != NULL) { + if (error == 0 && uap->oact != NULL) { s32.sa_u = PTROUT(osa.sa_handler); CP(osa, s32, sa_flags); CP(osa, s32, sa_mask); |