diff options
author | gordon <gordon@FreeBSD.org> | 2018-09-27 18:36:30 +0000 |
---|---|---|
committer | gordon <gordon@FreeBSD.org> | 2018-09-27 18:36:30 +0000 |
commit | ba232b9211234a5977460b8e8458848ab5b2b75d (patch) | |
tree | c81731e7b2aaccd94c9d285285f51e4342182969 /sys/kern | |
parent | 58c4ac19ea16e100a07725ce16ea83be4b847b3d (diff) | |
download | FreeBSD-src-ba232b9211234a5977460b8e8458848ab5b2b75d.zip FreeBSD-src-ba232b9211234a5977460b8e8458848ab5b2b75d.tar.gz |
Fix small kernel memory disclosures. [EN-18:12.mem]
Reported by: Thomas Barabosch, Fraunhofer FKIE
Approved by: so
Security: FreeBSD-EN-18:12.mem
Security: CVE-2018-17155
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_context.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_context.c b/sys/kern/kern_context.c index 70751d0..acd3ded 100644 --- a/sys/kern/kern_context.c +++ b/sys/kern/kern_context.c @@ -68,6 +68,7 @@ sys_getcontext(struct thread *td, struct getcontext_args *uap) if (uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); PROC_LOCK(td->td_proc); uc.uc_sigmask = td->td_sigmask; @@ -108,6 +109,7 @@ sys_swapcontext(struct thread *td, struct swapcontext_args *uap) if (uap->oucp == NULL || uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); bzero(uc.__spare__, sizeof(uc.__spare__)); PROC_LOCK(td->td_proc); |