ports/security/gvmd/files/patch-src_utils.c
Jose Alonso Cardenas Marquez 0b1f933be6
security/gvm: Update to 23.10.0
- security/gsa: update to 23.3.0
- security/gsad: update to 22.12.0
- security/gvm-libs: update to 22.12.1
- security/gvmd: update to 23.10.0
- security/openvas: update to 23.9.0 [1]
- security/py-gvm-tools: update to 24.8.0
- security/py-notus-scanner: update to 22.6.4
- security/py-python-gvm: update to 24.8.0
- security/py-greenbone-feed-sync: update to 24.3.0

PR:		281414
Reported by:	wen [1]
2024-09-19 23:34:30 -07:00

48 lines
1 KiB
C

--- src/utils.c 2024-09-11 02:00:14.000000000 -0700
+++ src/utils.c 2024-09-19 13:33:16.044626000 -0700
@@ -34,7 +34,7 @@
/**
* @brief Needed for nanosleep.
*/
-#define _POSIX_C_SOURCE 199309L
+//#define _POSIX_C_SOURCE 199309L
#include "utils.h"
@@ -50,6 +50,11 @@
#include <sys/wait.h>
#include <unistd.h>
+#if defined(__FreeBSD__)
+#include <sys/sysctl.h>
+#include <sys/types.h>
+#endif
+
#include <gvm/base/gvm_sentry.h>
#undef G_LOG_DOMAIN
@@ -1035,8 +1040,23 @@
guint64
phys_mem_available ()
{
- return (unsigned long long)(sysconf(_SC_AVPHYS_PAGES))
+ uint64_t retval;
+
+#if defined(__FreeBSD__)
+ uint64_t npages, pagesize;
+ size_t npages_len = sizeof(npages);
+ size_t pagesize_len = sizeof(pagesize);
+
+ sysctlbyname("vm.stats.vm.v_free_count", &npages, &npages_len, NULL, 0);
+ sysctlbyname("vm.stats.vm.v_page_size", &pagesize, &pagesize_len, NULL, 0);
+
+ retval = pagesize * npages;
+#else
+ retval=(unsigned long long)(sysconf(_SC_AVPHYS_PAGES))
* sysconf(_SC_PAGESIZE);
+#endif
+
+ return retval;
}
/**