From 8e8cd18e164d8b4db82895ffd91d19a6f549423f Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Sat, 31 Dec 2005 20:35:56 +0000 Subject: [PATCH] avoid int overflow in mem_get --- src/os/darwin/darwin_sigar.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/os/darwin/darwin_sigar.c b/src/os/darwin/darwin_sigar.c index ceddf994..e640e502 100644 --- a/src/os/darwin/darwin_sigar.c +++ b/src/os/darwin/darwin_sigar.c @@ -215,17 +215,19 @@ int sigar_mem_get(sigar_t *sigar, sigar_mem_t *mem) mach_msg_type_number_t count = sizeof(vmstat) / sizeof(integer_t); #endif int mib[2]; - int value; - size_t len = sizeof(value); + unsigned long value; + size_t len; mib[0] = CTL_HW; mib[1] = HW_PAGESIZE; + len = sizeof(sigar->pagesize); if (sysctl(mib, NMIB(mib), &sigar->pagesize, &len, NULL, 0) < 0) { return errno; } mib[1] = HW_PHYSMEM; + len = sizeof(value); if (sysctl(mib, NMIB(mib), &value, &len, NULL, 0) < 0) { return errno; }