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:
committed by
Bastien Nocera
parent
291d63f2b9
commit
79fdd6cd3b
@@ -66,10 +66,10 @@ glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid)
|
||||
if (!p) return;
|
||||
|
||||
p = skip_token (p); /* "Pid:" */
|
||||
buf->pid = strtoul (p, &p, 0);
|
||||
buf->pid = strtol (p, &p, 0);
|
||||
|
||||
p = skip_token (p); /* "PPid:" */
|
||||
buf->ppid = strtoul (p, &p, 0);
|
||||
buf->ppid = strtol (p, &p, 0);
|
||||
|
||||
/* Maybe future Linux versions place something between
|
||||
* "PPid" and "Uid", so we catch this here. */
|
||||
@@ -77,8 +77,8 @@ glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid)
|
||||
if (!p) return;
|
||||
|
||||
p = skip_token (p); /* "Uid:" */
|
||||
buf->uid = strtoul (p, &p, 0);
|
||||
buf->euid = strtoul (p, &p, 0);
|
||||
buf->uid = strtol (p, &p, 0);
|
||||
buf->euid = strtol (p, &p, 0);
|
||||
|
||||
/* We don't know how many entries on the "Uid:" line
|
||||
* future Linux version will have, so we catch this here. */
|
||||
@@ -86,8 +86,8 @@ glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid)
|
||||
if (!p) return;
|
||||
|
||||
p = skip_token (p); /* "Gid:" */
|
||||
buf->gid = strtoul (p, &p, 0);
|
||||
buf->egid = strtoul (p, &p, 0);
|
||||
buf->gid = strtol (p, &p, 0);
|
||||
buf->egid = strtol (p, &p, 0);
|
||||
|
||||
buf->flags = _glibtop_sysdeps_proc_uid;
|
||||
|
||||
@@ -99,15 +99,15 @@ glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid)
|
||||
|
||||
p = skip_multiple_token (p, 2);
|
||||
|
||||
buf->pgrp = strtoul (p, &p, 0);
|
||||
buf->session = strtoul (p, &p, 0);
|
||||
buf->tty = strtoul (p, &p, 0);
|
||||
buf->tpgid = strtoul (p, &p, 0);
|
||||
buf->pgrp = strtol (p, &p, 0);
|
||||
buf->session = strtol (p, &p, 0);
|
||||
buf->tty = strtol (p, &p, 0);
|
||||
buf->tpgid = strtol (p, &p, 0);
|
||||
|
||||
p = skip_multiple_token (p, 9);
|
||||
|
||||
buf->priority = strtoul (p, &p, 0);
|
||||
buf->nice = strtoul (p, &p, 0);
|
||||
buf->priority = strtol (p, &p, 0);
|
||||
buf->nice = strtol (p, &p, 0);
|
||||
|
||||
if (buf->tty == 0)
|
||||
/* the old notty val, update elsewhere bef. moving to 0 */
|
||||
|
Reference in New Issue
Block a user