From fe894dc0b3302330e34f5e53f511569b5a84e2a1 Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Sun, 4 Oct 2020 11:00:49 +0200 Subject: [PATCH] util/os_misc: os_get_available_system_memory() for FreeBSD Based on the OpenBSD variant. The only difference between those two system is the sysctl mib. Signed-off-by: Emmanuel Vadot Reviewed-by: Matt Turner Part-of: --- src/util/os_misc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/util/os_misc.c b/src/util/os_misc.c index e184edc893d..28a6d1e9806 100644 --- a/src/util/os_misc.c +++ b/src/util/os_misc.c @@ -58,7 +58,7 @@ # include #elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD # include -#elif DETECT_OS_OPENBSD +#elif DETECT_OS_OPENBSD || DETECT_OS_FREEBSD # include # include #elif DETECT_OS_APPLE || DETECT_OS_BSD @@ -213,9 +213,13 @@ os_get_available_system_memory(uint64_t *size) free(meminfo); return false; -#elif DETECT_OS_OPENBSD +#elif DETECT_OS_OPENBSD || DETECT_OS_FREEBSD struct rlimit rl; +#if DETECT_OS_OPENBSD int mib[] = { CTL_HW, HW_USERMEM64 }; +#elif DETECT_OS_FREEBSD + int mib[] = { CTL_HW, HW_USERMEM }; +#endif int64_t mem_available; size_t len = sizeof(mem_available);