From 9de636933536756970fb2da41030dc4c5afd83b9 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Wed, 6 Aug 2025 23:05:00 -0400 Subject: kernel: sysctl: Set 'oldlenp' to NULL if needed Signed-off-by: Ian Moffett --- sys/kern/kern_sysctl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sys/kern/kern_sysctl.c') diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index fc8feec..6df5a8d 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -95,9 +95,10 @@ do_sysctl(struct sysctl_args *args) size_t name_len = 1, oldlenp = 0; int *name = NULL; void *oldp = NULL, *newp = NULL; - int retval = 0; + int retval = 0, have_oldlen = 0; if (args->oldlenp != NULL) { + have_oldlen = 1; name_len = args->nlen; retval = copyin(args->oldlenp, &oldlenp, sizeof(oldlenp)); if (retval != 0) { @@ -135,7 +136,7 @@ do_sysctl(struct sysctl_args *args) new_args.name = name; new_args.nlen = name_len; new_args.oldp = oldp; - new_args.oldlenp = &oldlenp; + new_args.oldlenp = (have_oldlen) ? &oldlenp : NULL; new_args.newp = newp; new_args.newlen = args->newlen; -- cgit v1.2.3