Apply patch from Benoît Dejean <bnet@ifrance.com> to fix overflow issues

2003-12-23  Bastien Nocera  <hadess@hadess.net>

	* cpu.c: (glibtop_get_cpu_s):
	* glibtop_server.h:
	* loadavg.c: (glibtop_get_loadavg_s):
	* mem.c: (glibtop_get_mem_s):
	* netload.c: (glibtop_get_netload_s):
	* prockernel.c: (glibtop_get_proc_kernel_s):
	* procmem.c: (glibtop_get_proc_mem_s):
	* procsegment.c: (glibtop_get_proc_segment_s):
	* procsignal.c: (glibtop_get_proc_signal_s):
	* proctime.c: (glibtop_get_proc_time_s):
	* procuid.c: (glibtop_get_proc_uid_s):
	* swap.c: (glibtop_get_swap_s): Apply patch from Benoît Dejean
	<bnet@ifrance.com> to fix overflow issues using strtol
	(Closes: #129881)
This commit is contained in:
Bastien Nocera
2003-12-23 10:43:41 +00:00
committed by Bastien Nocera
parent 84962b2301
commit 9968f74a05
13 changed files with 100 additions and 83 deletions

View File

@@ -57,17 +57,17 @@ skip_line (const char *p)
return (char *) ++p;
}
static inline unsigned long
static inline unsigned long long
get_scaled(const char *buffer, const char *key)
{
const char *ptr;
char *next;
unsigned long value = 0;
unsigned long long value = 0;
if ((ptr = strstr(buffer, key)))
{
ptr += strlen(key);
value = strtoul(ptr, &next, 0);
value = strtoull(ptr, &next, 0);
if (strchr(next, 'k'))
value *= 1024;
else if (strchr(next, 'M'))