From deffbbf527d01378cfbc448aca29522fdd296351 Mon Sep 17 00:00:00 2001 From: Lubos Dolezel Date: Sun, 3 Jun 2018 23:56:46 +0200 Subject: [PATCH] Fix sysctlbyname() --- src/kernel/emulation/linux/misc/sysctl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kernel/emulation/linux/misc/sysctl.c b/src/kernel/emulation/linux/misc/sysctl.c index 8014ee8dd..a379f983d 100644 --- a/src/kernel/emulation/linux/misc/sysctl.c +++ b/src/kernel/emulation/linux/misc/sysctl.c @@ -96,13 +96,15 @@ long sys_sysctlbyname(const char* name, unsigned long namelen, void* old, unsign const struct known_sysctl* current = &sysctls_root; char* saveptr; const char* token; + char name_copy[128]; // __simple_printf("sysctlbyname: %s\n", name); // Used by launchd, assumed to succeed if (strcmp(name, "vfs.generic.noremotehang") == 0) return 0; - token = strtok_r((char*) _new, ".", &saveptr); + strlcpy(name_copy, name, sizeof(name_copy)); + token = strtok_r(name_copy, ".", &saveptr); while (token != NULL) { -- 2.51.2