From c6224994ac70b4f71ef9e11903bb2e50ed2b1bfe Mon Sep 17 00:00:00 2001 From: Weixie Cui Date: Tue, 31 Mar 2026 18:12:32 +0800 Subject: [PATCH] freebsd32: Fix freebsd11_nstat copyout condition freebsd11_freebsd32_nstat() invoked copyout(2) when freebsd11_cvtnstat32() failed and skipped copyout on success. This is backwards. Fix this to match freebsd11_freebsd32_nlstat() and freebsd11_nstat(), and only copy the nstat32 result to userspace when conversion succeeds. Signed-off-by: Weixie Cui Reviewed by: mhorne MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/2109 --- sys/compat/freebsd32/freebsd32_misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 4ec6dd452b3..a0b6118900e 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -2649,7 +2649,7 @@ freebsd11_freebsd32_nstat(struct thread *td, if (error != 0) return (error); error = freebsd11_cvtnstat32(&sb, &nsb); - if (error != 0) + if (error == 0) error = copyout(&nsb, uap->ub, sizeof (nsb)); return (error); }