procps/proc
Jim Warner f9a8009e27 library: avoid problems involving 'supgid' mishandling
Following that patch referenced below, the top SUPGRPS
field would produce a segmentation fault and ps SUPGRP
would often show "(null)". Such problems resulted from
some faulty logic in the status2proc() routine dealing
with 'Groups' (supgid) which served as a source field.

For many processes the original code produced an empty
string which prevented conversion to the expected "-".
Moreover, prior to release 3.3.15 such an empty string
will become 0 after strtol() which pwcache_get_group()
translates to 'root' yielding very misleading results.

So, now we'll check for empty '/proc/#/status/Groups:'
fields & consistently provide a "-" value for callers.

[ we'll also protect against future problems in that ]
[ new qualys logic by always ensuring valid 'supgrp' ]
[ pointers - logic which revealed our original flaw! ]

Reference(s):
. original qualys patch
0071-proc-readproc.c-Harden-supgrps_from_supgids.patch

Signed-off-by: Jim Warner <james.warner@comcast.net>
2018-05-31 22:02:03 +10:00
..
alloc.c proc/alloc.*: Use size_t, not unsigned int. 2018-05-19 07:32:21 +10:00
alloc.h proc/alloc.*: Use size_t, not unsigned int. 2018-05-19 07:32:21 +10:00
COPYING miscellaneous: clean up trailing whitespace once again 2013-04-07 18:05:01 +10:00
devname.c proc/devname.c: Never write more than "chop" (part 2). 2018-05-19 07:32:21 +10:00
devname.h Change restrict to __restrict in public includes 2012-01-09 21:44:51 +11:00
escape.c proc/escape.c: Handle negative snprintf() return value. 2018-05-19 07:32:21 +10:00
escape.h Change restrict to __restrict in public includes 2012-01-09 21:44:51 +11:00
fprocopen.3 docs: Change name of fprocopen man page 2018-02-28 21:24:03 +11:00
libprocps.pc.in Renaming libprocfs to libprocps 2011-12-23 09:18:43 +11:00
libprocps.sym sysctl: Bring procio functions out of library 2018-03-01 21:25:04 +11:00
numa.c library: set stage for NUMA node field display support 2017-05-22 21:34:32 +10:00
numa.h library: build on non-glibc systems 2018-04-10 21:28:11 +10:00
openproc.3 documentation: fix man pages due to refactor for wchan 2015-06-19 19:09:21 +10:00
procps-private.h library: Change linux version 2015-06-19 21:00:46 +10:00
procps.h library: relocate the typedef used in alloc.h override 2017-12-23 17:41:37 +11:00
pwcache.c library: rename clashing pwcache functions 2016-07-06 22:26:02 +10:00
pwcache.h library: rename clashing pwcache functions 2016-07-06 22:26:02 +10:00
readproc.3 misc: result after checking all files for misspellings 2014-08-08 22:14:21 +02:00
readproc.c library: avoid problems involving 'supgid' mishandling 2018-05-31 22:02:03 +10:00
readproc.h library: Increase comm length to 64 2018-05-19 08:04:19 +10:00
readproctab.3 misc: result after checking all files for misspellings 2014-08-08 22:14:21 +02:00
sig.c proc/sig.c: Harden print_given_signals(). 2018-05-19 07:32:21 +10:00
sig.h Change restrict to __restrict in public includes 2012-01-09 21:44:51 +11:00
slab.c proc/slab.c: Initialize struct slab_info in get_slabnode(). 2018-05-19 07:32:21 +10:00
slab.h proc/slab.h: Fix off-by-one overflow in sscanf(). 2018-05-19 07:32:21 +10:00
sysinfo.c proc/sysinfo.c: Ensure null-termination in getstat(). 2018-05-19 07:32:22 +10:00
sysinfo.h - Fixing sysinfo - devices with length exceeding 15 chars are not displayed in vmstat -d 2016-06-30 18:29:50 +02:00
version.c miscellaneous: remove some trailing whitespace buildup 2015-06-20 07:46:23 +10:00
version.h proc/version.h: Protect parameter in LINUX_VERSION() macro. 2018-05-19 07:32:21 +10:00
wchan.c misc: remove some trailing whitespace newly introduced 2016-12-07 21:50:59 +11:00
wchan.h library: refactor and rely on modern kernels for wchan 2015-06-19 19:09:20 +10:00
whattime.c proc/whattime.c: Always initialize buf. 2018-05-19 07:32:21 +10:00
whattime.h Add -p|--pretty option to uptime(1) for pretty output. 2012-02-22 10:35:12 -05:00