Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 277509a89486abacadb546916a2aa6b7 > files > 22

coreutils-6.12-2mdv2009.0.src.rpm

--- textutils-2.0.17/lib/physmem.c.cap	Sun Apr  8 13:31:12 2001
+++ textutils-2.0.17/lib/physmem.c	Sun Apr  8 13:41:37 2001
@@ -31,6 +31,14 @@
 # include <sys/pstat.h>
 #endif
 
+/* Cap physical memory to something sane */
+static double
+physmem_cap (double mem)
+{
+  double max = 1 << (sizeof(void *)*8 - 4);
+  return mem > max ? max : mem;
+}
+
 /* Return the total amount of physical memory.  */
 double
 physmem_total (void)
@@ -52,7 +60,7 @@
 	double pages = pss.physical_memory;
 	double pagesize = pss.page_size;
 	if (0 <= pages && 0 <= pagesize)
-	  return pages * pagesize;
+      return physmem_cap(pages * pagesize);
       }
   }
 #endif
@@ -84,7 +92,7 @@
 	double pages = psd.psd_free;
 	double pagesize = pss.page_size;
 	if (0 <= pages && 0 <= pagesize)
-	  return pages * pagesize;
+      return physmem_cap(pages * pagesize);
       }
   }
 #endif