commit 77bfb76a971ed8d114fc12db70d8bfeef923510e
Author:     [email protected] <[email protected]>
AuthorDate: Fri Jan 1 17:04:36 2021 +0100
Commit:     drkhsh <[email protected]>
CommitDate: Wed Oct 26 21:24:11 2022 +0200

    Fix RAM component on FreeBSD
    
    The current implementation uses the wrong type for
    given sysctl calls leading to overflow and incorrectly
    reported RAM usage. The fix is to use 'unsigned int'
    which is what FreeBSD expects.

diff --git a/components/ram.c b/components/ram.c
index 47e6fda..6040e56 100644
--- a/components/ram.c
+++ b/components/ram.c
@@ -178,7 +178,7 @@
 
        const char *
        ram_total(void) {
-               long npages;
+               unsigned int npages;
                size_t len;
 
                len = sizeof(npages);
@@ -191,8 +191,8 @@
 
        const char *
        ram_perc(void) {
-               long npages;
-               long active;
+               unsigned int npages;
+               unsigned int active;
                size_t len;
 
                len = sizeof(npages);
@@ -209,7 +209,7 @@
 
        const char *
        ram_used(void) {
-               long active;
+               unsigned int active;
                size_t len;
 
                len = sizeof(active);

Reply via email to