diff --git a/Possible-segfault-in-file2strvec-introduced-by-lates.patch b/Possible-segfault-in-file2strvec-introduced-by-lates.patch deleted file mode 100644 index 1853624..0000000 --- a/Possible-segfault-in-file2strvec-introduced-by-lates.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/proc/readproc.c b/proc/readproc.c -index 0f00231..b5fbbaa 100644 ---- a/proc/readproc.c -+++ b/proc/readproc.c -@@ -714,7 +714,7 @@ static char** file2strvec(const char* directory, const char* what) { - #undef ARG_LEN - if (end_of_file && - ((n > 0 && buf[n-1] != '\0') || /* last read char not null */ -- (n <= 0 && rbuf[tot-1] != '\0'))) /* last read char not null */ -+ (n <= 0 && rbuf && rbuf[tot-1] != '\0'))) /* last read char not null */ - buf[n++] = '\0'; /* so append null-terminator */ - - if (n <= 0) break; /* unneeded (end_of_file = 1) but avoid realloc */ diff --git a/docs-Tidying-of-ps-kill-and-skill-manpages.patch b/docs-Tidying-of-ps-kill-and-skill-manpages.patch deleted file mode 100644 index ed46afe..0000000 --- a/docs-Tidying-of-ps-kill-and-skill-manpages.patch +++ /dev/null @@ -1,1111 +0,0 @@ -From 336d4ab90e56cbb793c4f6899ff392e99deb5167 Mon Sep 17 00:00:00 2001 -From: Bjarni Ingi Gislason -Date: Thu, 31 May 2018 21:18:27 +1000 -Subject: [PATCH 07/65] docs: Tidying of ps,kill and skill manpages - -Some minor tidying of these three man pages using more of the modern -(ish) macros that have been around for a while. - -References: - https://bugs.debian.org/893452 - https://bugs.debian.org/893457 - https://bugs.debian.org/894480 - -Signed-off-by: Craig Small ---- - kill.1 | 29 ++++--- - ps/ps.1 | 304 +++++++++++++++++++++++++++++++++------------------------------- - skill.1 | 32 +++---- - 3 files changed, 189 insertions(+), 176 deletions(-) - -diff --git a/kill.1 b/kill.1 -index a487f91..dd53040 100644 ---- a/kill.1 -+++ b/kill.1 -@@ -1,11 +1,12 @@ --'\" t --.\" (The preceding line is a note to broken versions of man to tell --.\" them to pre-process this man page with tbl) --.\" Man page for kill. --.\" Licensed under version 2 of the GNU General Public License. --.\" Written by Albert Cahalan; converted to a man page by --.\" Michael K. Johnson --.TH KILL 1 "October 2011" "procps-ng" "User Commands" -+.ig -+Written by Albert Cahalan, converted to a man page by Michael K. Johnson -+ -+This manpage is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by the -+Free Software Foundation; either version 2 of the License, or -+(at your option) any later version. -+.. -+.TH KILL 1 "2018-05-31" "procps-ng" "User Commands" - .SH NAME - kill \- send a signal to a process - .SH SYNOPSIS -@@ -64,7 +65,7 @@ Kill all processes you can kill. - .B kill \-l 11 - Translate number 11 into a signal name. - .TP --.B kill -L -+.B kill \-L - List the available signal choices in a nice table. - .TP - .B kill 123 543 2341 3453 -@@ -78,16 +79,16 @@ Send the default signal, SIGTERM, to all those processes. - .BR signal (7), - .BR skill (1) - .SH STANDARDS --This command meets appropriate standards. The -+This command meets appropriate standards. The - .B \-L - flag is Linux-specific. - .SH AUTHOR --.UR albert@users.sf.net -+.MT albert@users.sf.net - Albert Cahalan --.UE -+.ME - wrote kill in 1999 to replace a bsdutils one that was not standards - compliant. The util-linux one might also work correctly. - .SH "REPORTING BUGS" - Please send bug reports to --.UR procps@freelists.org --.UE -+.MT procps@freelists.org -+.ME -diff --git a/ps/ps.1 b/ps/ps.1 -index df3ded0..b358d2f 100644 ---- a/ps/ps.1 -+++ b/ps/ps.1 -@@ -4,7 +4,7 @@ - .\" Quick hack conversion by Albert Cahalan, 1998. - .\" Licensed under version 2 of the Gnu General Public License. - .\" --.TH PS 1 2018-01-13 "procps-ng" "User Commands" -+.TH PS 1 2018-05-31 "procps-ng" "User Commands" - .\" - .\" To render this page: - .\" groff -t -b -man -X -P-resolution -P100 -Tps ps.1 & -@@ -27,9 +27,7 @@ - .SH NAME - ps \- report a snapshot of the current processes. - .SH SYNOPSIS --\fBps\fR [\fIoptions\fR] --.PP --.PP -+\fBps\fR [\,\fIoptions\/\fR] - .SH DESCRIPTION - .B ps - displays information about a selection of the active processes. If you want -@@ -81,7 +79,7 @@ The use of BSD\-style options will add process state (stat=STAT) to the - default display and show the command args (args=COMMAND) instead of the - executable name. You can override this with the - .B PS_FORMAT --environment variable. The use of BSD\-style options will also change the -+environment variable. The use of BSD\-style options will also change the - process selection to include processes on other terminals (TTYs) that are - owned by you; alternately, this may be described as setting the selection to - be the set of all processes filtered to exclude processes owned by other -@@ -94,7 +92,6 @@ Except as described below, process selection options are additive. The - default selection is discarded, and then the selected processes are added to - the set of processes to be displayed. A process will thus be shown if it - meets any of the given selection criteria. --.PP - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - .SH "EXAMPLES" - .TP 3 -@@ -113,21 +110,21 @@ To see every process on the system using BSD syntax: - .B ps\ axu - .TP - To print a process tree: --.B ps\ -ejH -+.B ps\ \-ejH - .br - .B ps\ axjf - .TP - To get info about threads: --.B ps\ -eLf -+.B ps\ \-eLf - .br - .B ps\ axms - .TP - To get security info: --.B ps\ -eo euser,ruser,suser,fuser,f,comm,label -+.B ps\ \-eo euser,ruser,suser,fuser,f,comm,label - .br - .B ps\ axZ - .br --.B ps\ -eM -+.B ps\ \-eM - .TP - To see every process running as root (real\ &\ effective\ ID) in user format: - .B ps\ \-U\ root\ \-u\ root\ u -@@ -144,12 +141,10 @@ Print only the process IDs of syslogd: - .TP - Print only the name of PID 42: - .B ps\ \-q\ 42\ \-o\ comm= --.PP --.PP - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - .SH "SIMPLE PROCESS SELECTION" - .TP --.BR a -+.B a - Lift the BSD\-style "only yourself" restriction, which is imposed upon the - set of all processes when some BSD\-style (without "\-") options are used or - when the -@@ -224,17 +219,18 @@ or to list all processes when used together with the - option. - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - .PD --.PP - .SH "PROCESS SELECTION BY LIST" - These options accept a single argument in the form of a blank\-separated or - comma\-separated list. They can be used multiple times. For example: --\fBps\ \-p\ "1\ 2"\ \-p\ 3,4\fR -+.B ps\ \-p\ "1\ 2"\ \-p\ 3,4 - .TP - .RI \- 123 --Identical to \fB\-\-pid\ \fI123\fR. -+Identical to -+.BI \-\-pid\ 123 \fR. - .TP - .I 123 --Identical to \fB\-\-pid\ \fI123\fR. -+Identical to -+.BI \-\-pid\ 123 \fR. - .TP - .BI \-C \ cmdlist - Select by command name. This selects the processes whose executable name is -@@ -312,13 +308,16 @@ and - .BR \-\-quick\-pid . - .TP - .BI \-q \ pidlist --Select by PID (quick mode). This selects the processes whose process ID numbers appear in -+Select by PID (quick mode). -+This selects the processes whose process ID numbers appear in - .IR pidlist . - With this option \fBps\fR reads the necessary info only --for the pids listed in the \fIpidlist\fR and doesn't apply --additional filtering rules. The order of pids is unsorted --and preserved. No additional selection options, sorting --and forest type listings are allowed in this mode. -+for the pids listed in the -+.I pidlist -+and doesn't apply additional filtering rules. -+The order of pids is unsorted and preserved. -+No additional selection options, -+sorting and forest type listings are allowed in this mode. - Identical to - .B q - and -@@ -413,12 +412,10 @@ and - .BR U . - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - .PD --.PP - .SH "OUTPUT FORMAT CONTROL" - These options are used to choose the information displayed by - .BR ps . - The output may differ by personality. --.PP - .TP - .B \-c - Show different scheduler information for the -@@ -429,7 +426,7 @@ option. - Display security context format (for SELinux). - .TP - .B \-f --Do full\-format listing. This option can be combined with many other -+Do full\-format listing. This option can be combined with many other - UNIX\-style options to add additional columns. It also causes the command - arguments to be printed. When used with - .BR \-L , -@@ -495,8 +492,9 @@ with the BSD personality. - Like - .BR \-o , - but preloaded with some default columns. Identical to --\fB\-o\ pid,\:\fIformat\fB,\:state,\:tname,\:time,\:command\fR or --\fB\-o\ pid,\:\fIformat\fB,\:tname,\:time,\:cmd\fR, -+.BI \-o\ pid,\: format ,\:state,\:tname,\:time,\:command -+or -+.BI \-o\ pid,\: format ,\:tname,\:time,\:cmd \fR, - see - .B \-o - below. -@@ -526,7 +524,7 @@ Explicit width - control - .RB ( "ps opid,\:wchan:42,\:cmd" ) - is offered too. The behavior of --.B ps -o pid=X,\:comm=Y -+.B ps \-o pid=X,\:comm=Y - varies with personality; output may be one column named "X,\:comm=Y" or two - columns named "X" and "Y". Use multiple - .B \-o -@@ -558,7 +556,6 @@ Add a column of security data. Identical to - (for SELinux). - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - .PD --.PP - .SH "OUTPUT MODIFIERS" - .\" .TP - .\" .B C -@@ -626,7 +623,10 @@ Repeat header lines, one per page of output. - .TP - .BI k \ spec - Specify sorting order. Sorting syntax is --[\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]]. -+.RB [ + | \- ]\c -+.I key\/\c -+.RB [,[ + | \- ]\c -+.IR key [,...]]. - Choose a multi\-letter key from the - .B STANDARD FORMAT SPECIFIERS - section. The "+" is optional since default direction is increasing -@@ -671,10 +671,13 @@ or - For sorting, obsolete BSD - .B O - option syntax is --\fBO\fR[\fB+\fR|\fB\-\fR]\fIk1\fR[,[\fB+\fR|\fB\-\fR]\fIk2\fR[,...]]. -+.BR O [ + | \- ]\c -+.IR k1 [,[\c -+.BR + | \- ]\c -+.IR k2 [,...]]. - It orders the processes listing according to the multilevel sort specified by - the sequence of one\-letter short keys --.IR k1 , k2 ", ..." -+.IR k1 , k2 ", ...\&" - described in the - .B OBSOLETE SORT KEYS - section below. The\ "+" is currently optional, merely re\-iterating the -@@ -694,8 +697,11 @@ repeatedly forks off short\-lived children to do work. - .TP - .BI \-\-sort \ spec - Specify sorting order. Sorting syntax is --[\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]]. Choose a --multi\-letter key from the -+.RI [ + | \- ]\c -+.IR key [,[\c -+.BR + | \- ]\c -+.IR key [,...]]. -+Choose a multi\-letter key from the - .B STANDARD FORMAT SPECIFIERS - section. The "+" is optional since default direction is increasing numerical - or lexicographic order. Identical to -@@ -713,7 +719,6 @@ Wide output. Use this option twice for unlimited width. - Set screen width. - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - .PD --.PP - .SH "THREAD DISPLAY" - .TP - .B H -@@ -731,19 +736,18 @@ Show threads after processes. - .B \-T - Show threads, possibly with SPID column. - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" --.PD --.PP - .SH "OTHER INFORMATION" - .TP - .BI \-\-help \ section - Print a help message. The section argument can be one of --\fIs\fRimple, --\fIl\fRist, --\fIo\fRutput, --\fIt\fRhreads, --\fIm\fRisc or --\fIa\fRll. --The argument can be shortened to one of the underlined letters as in: s|l|o|t|m|a. -+.IR s imple, -+.IR l ist, -+.IR o utput, -+.IR t hreads, -+.IR m "isc, or" -+.IR a ll. -+The argument can be shortened to one of the underlined letters as in: -+s\^|\^l\^|\^o\^|\^t\^|\^m\^|\^a. - .TP - .B \-\-info - Print debugging info. -@@ -760,8 +764,6 @@ Print the procps-ng version. - .B \-\-version - Print the procps-ng version. - .\" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" --.PD --.PP - .SH NOTES - This - .B ps -@@ -772,7 +774,6 @@ this - .B ps - any special permissions. - .PP --.PP - CPU usage is currently expressed as the percentage of time spent running - during the entire lifetime of a process. This is not ideal, and\ it does not - conform to the standards that -@@ -781,7 +782,7 @@ otherwise conforms to. CPU usage is unlikely to add up to exactly 100%. - .PP - The SIZE and RSS fields don't count some parts of a process including the - page tables, kernel stack, struct thread_info, and struct task_struct. This --is usually at least 20 KiB of memory that is always resident. SIZE is the -+is usually at least 20\ KiB of memory that is always resident. SIZE is the - virtual size of the process (code+\:data+\:stack). - .PP - Processes marked are dead processes (so\-called "zombies") that -@@ -791,7 +792,7 @@ will be destroyed by - if the parent process exits. - .PP - If the length of the username is greater than the length of the display --column, the username will be truncated. See the -o and -O formatting -+column, the username will be truncated. See the \-o and \-O formatting - options to customize length. - .PP - Commands options such as -@@ -802,13 +803,15 @@ display all processes with a TTY (generally the commands users are - running) plus all processes owned by a user named "x". If that user - doesn't exist, then - .B ps --will assume you really meant "\fBps\fR \fIaux\fR". -+will assume you really meant -+.RB """" ps -+.IR aux """." - .SH "PROCESS FLAGS" - The sum of these values is displayed in the "F" column, - which is provided by the - .B flags - output specifier: --.IP -+.PP - .RS 8 - .PD 0 - .TP 5 -@@ -819,13 +822,12 @@ forked but didn't exec - used super\-user privileges - .PD - .RE --.PP - .SH "PROCESS STATE CODES" - Here are the different values that the --.BR s , \ stat \ and \ state -+.BR s ", " stat " and " state - output specifiers (header "STAT" or "S") will display to describe the state - of a process: --.IP -+.PP - .RS 8 - .PD 0 - .TP 5 -@@ -861,7 +863,7 @@ defunct ("zombie") process, terminated but not reaped by its parent - For BSD formats and when the - .B stat - keyword is used, additional characters may be displayed: --.IP -+.PP - .RS 8 - .PD 0 - .TP 5 -@@ -884,7 +886,6 @@ is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) - is in the foreground process group - .PD - .RE --.PP - .SH "OBSOLETE SORT KEYS" - These keys are used by the BSD - .B O -@@ -931,8 +932,6 @@ v vsize total VM size in KiB - y priority kernel scheduling priority - .\"K stime system time (conflict, system vs. start time) - .TE --.PP --.PP - .SH "AIX FORMAT DESCRIPTORS" - This - .B ps -@@ -942,7 +941,7 @@ formatting codes of - and - .IR printf (3). - For example, the normal default output can be produced with this: --\fBps \-eo "%p %y %x %c"\fR. -+.B ps \-eo """%p %y %x %c""\fR." - The - .B NORMAL - codes are described in the next section. -@@ -967,7 +966,7 @@ l l l. - .TE - .SH "STANDARD FORMAT SPECIFIERS" - Here are the different keywords that may be used to control the output --format (e.g. with option -+format (e.g., with option - .BR \-o ) - or to sort the selected processes with the GNU\-style - .B \-\-sort -@@ -983,8 +982,8 @@ tries to recognize most of the keywords used in other implementations of - .PP - The following user\-defined format specifiers may contain - spaces: --.BR args , \ cmd , \ comm , \ command , \ fname , \ ucmd , \ ucomm , --.BR lstart , \ bsdstart , \ start . -+.BR args ", " cmd ", " comm ", " command ", " fname ", " ucmd ", " ucomm , -+.BR lstart ", " bsdstart ", " start . - .PP - Some keywords may not be available for sorting. - -@@ -997,8 +996,8 @@ Some keywords may not be available for sorting. - .\" - .TS - expand; --lB1 lB1 lBw(\n[ColSize]n) --lB1 l1 l. -+l1B l1B lBw(\n[ColSize]n) -+l1B l1 l. - CODE HEADER DESCRIPTION - - %cpu %CPU T{ -@@ -1016,13 +1015,15 @@ machine, expressed as a percentage. (alias - T} - - args COMMAND T{ --command with all its arguments as a string. Modifications to the arguments --may be shown. The output in this column may contain spaces. A process --marked is partly dead, waiting to be fully destroyed by its parent. -+command with all its arguments as a string. -+Modifications to the arguments may be shown. -+The output in this column may contain spaces. -+A process marked is partly dead, -+waiting to be fully destroyed by its parent. - Sometimes the process args will be unavailable; when this happens, - .B ps - will instead print the executable name in brackets. (alias --.BR cmd , \ command ). -+.BR cmd ", " command ). - See also the - .B comm - format keyword, the -@@ -1053,14 +1054,14 @@ mask of the blocked signals, see - .IR signal (7). - According to the width of the field, a 32 or 64\-bit mask in hexadecimal - format is displayed. (alias --.BR sig_block , \ sigmask ). -+.BR sig_block ", " sigmask ). - T} - - bsdstart START T{ - time the command started. If the process was started less than 24 hours ago, - the output format is "\ HH:MM", else it is " Mmm:SS" (where Mmm is the three - letters of the month). See also --.BR lstart , \ start , \ start_time ", and" \ stime . -+.BR lstart ", " start ", " start_time ", and " stime . - T} - - bsdtime TIME T{ -@@ -1070,8 +1071,9 @@ minutes of cpu time. - T} - - c C T{ --processor utilization. Currently, this is the integer value of the percent --usage over the lifetime of the process. (see -+processor utilization. -+Currently, this is the integer value of the percent usage over the -+lifetime of the process. (see - .BR %cpu ). - T} - -@@ -1080,7 +1082,7 @@ mask of the caught signals, see - .IR signal (7). - According to the width of the field, a 32 or 64 bits mask in hexadecimal - format is displayed. (alias --.BR sig_catch , \ sigcatch ). -+.BR sig_catch ", " sigcatch ). - T} - - cgname CGNAME T{ -@@ -1093,9 +1095,10 @@ T} - - class CLS T{ - scheduling class of the process. (alias --.BR policy , \ cls ). -+.BR policy ", " cls ). - Field's possible values are: --.IP "" 2 -+.sp 1 -+.in +9n - \- not reported - .br - TS SCHED_OTHER -@@ -1113,13 +1116,15 @@ IDL SCHED_IDLE - DLN SCHED_DEADLINE - .br - ? unknown value -+.in - T} - - cls CLS T{ - scheduling class of the process. (alias --.BR policy , \ cls ). -+.BR policy ", " cls ). - Field's possible values are: --.IP "" 2 -+.sp 1 -+.in +9n - \- not reported - .br - TS SCHED_OTHER -@@ -1137,13 +1142,14 @@ IDL SCHED_IDLE - DLN SCHED_DEADLINE - .br - ? unknown value -+.in - T} - - cmd CMD T{ - see - .BR args . - (alias --.BR args , \ command ). -+.BR args ", " command ). - T} - - comm COMMAND T{ -@@ -1151,7 +1157,7 @@ command name (only the executable name). Modifications to the command name - will not be shown. A process marked is partly dead, waiting to be - fully destroyed by its parent. The output in this column may contain spaces. - (alias --.BR ucmd , \ ucomm ). -+.BR ucmd ", " ucomm ). - See also the - .B args format keyword, - the -@@ -1179,7 +1185,7 @@ command COMMAND T{ - See - .BR args . - (alias --.BR args , \ command ). -+.BR args ", " command ). - T} - - cp CP T{ -@@ -1240,14 +1246,14 @@ effective user name. This will be the textual user ID, if it can be obtained - and the field width permits, or a decimal representation otherwise. The - .B n - option can be used to force the decimal representation. (alias --.BR uname , \ user ). -+.BR uname ", " user ). - T} - - f F T{ - flags associated with the process, see the - .B PROCESS FLAGS - section. (alias --.BR flag , \ flags ). -+.BR flag ", " flags ). - T} - - fgid FGID T{ -@@ -1266,14 +1272,14 @@ flag F T{ - see - .BR f . - (alias --.BR f , \ flags ). -+.BR f ", " flags ). - T} - - flags F T{ - see - .BR f . - (alias --.BR f , \ flag ). -+.BR f ", " flag ). - T} - - fname COMMAND T{ -@@ -1310,11 +1316,12 @@ mask of the ignored signals, see - .IR signal (7). - According to the width of the field, a 32 or 64 bits mask in hexadecimal - format is displayed. (alias --.BR sig_ignore , \ sigignore ). -+.BR sig_ignore ", " sigignore ). - T} - - ipcns IPCNS T{ --Unique inode number describing the namespace the process belongs to. See namespaces(7). -+Unique inode number describing the namespace the process belongs to. -+See namespaces(7). - T} - - label LABEL T{ -@@ -1326,7 +1333,7 @@ T} - - lstart STARTED T{ - time the command started. See also --.BR bsdstart , \ start , \ start_time ", and" \ stime . -+.BR bsdstart ", " start ", " start_time ", and " stime . - T} - - lsession SESSION T{ -@@ -1340,7 +1347,7 @@ T} - - lwp LWP T{ - light weight process (thread) ID of the dispatchable entity (alias --.BR spid , \ tid ). -+.BR spid ", " tid ). - See - .B tid - for additional information. -@@ -1365,15 +1372,18 @@ The number of minor page faults that have occurred with this process. - T} - - mntns MNTNS T{ --Unique inode number describing the namespace the process belongs to. See namespaces(7). -+Unique inode number describing the namespace the process belongs to. -+See namespaces(7). - T} - - netns NETNS T{ --Unique inode number describing the namespace the process belongs to. See namespaces(7). -+Unique inode number describing the namespace the process belongs to. -+See namespaces(7). - T} - - ni NI T{ --nice value. This ranges from 19 (nicest) to \-20 (not nice to others), -+nice value. -+This ranges from 19 (nicest) to \-20 (not nice to others), - see - .IR nice (1). - (alias -@@ -1416,7 +1426,8 @@ see - T} - - pending PENDING T{ --mask of the pending signals. See -+mask of the pending signals. -+See - .IR signal (7). - Signals pending on the process are distinct from signals pending on - individual threads. Use the -@@ -1447,7 +1458,8 @@ a number representing the process ID (alias - T} - - pidns PIDNS T{ --Unique inode number describing the namespace the process belongs to. See namespaces(7). -+Unique inode number describing the namespace the process belongs to. -+See namespaces(7). - T} - - pmem %MEM T{ -@@ -1459,9 +1471,10 @@ T} - - policy POL T{ - scheduling class of the process. (alias --.BR class , \ cls ). -+.BR class ", " cls ). - Possible values are: --.IP "" 2 -+.sp 1 -+.in +9n - \- not reported - .br - TS SCHED_OTHER -@@ -1479,6 +1492,7 @@ IDL SCHED_IDLE - DLN SCHED_DEADLINE - .br - ? unknown value -+.in - T} - - ppid PPID T{ -@@ -1504,22 +1518,22 @@ T} - - rss RSS T{ - resident set size, the non\-swapped physical memory that a task has used (in --kiloBytes). (alias --.BR rssize , \ rsz ). -+kilobytes). (alias -+.BR rssize ", " rsz ). - T} - - rssize RSS T{ - see - .BR rss . - (alias --.BR rss , \ rsz ). -+.BR rss ", " rsz ). - T} - - rsz RSZ T{ - see - .BR rss . - (alias --.BR rss , \ rssize ). -+.BR rss ", " rssize ). - T} - - rtprio RTPRIO T{ -@@ -1558,7 +1572,7 @@ T} - - sess SESS T{ - session ID or, equivalently, the process ID of the session leader. (alias --.BR session , \ sid ). -+.BR session ", " sid ). - T} - - sgi_p P T{ -@@ -1580,35 +1594,35 @@ sid SID T{ - see - .BR sess . - (alias --.BR sess , \ session ). -+.BR sess ", " session ). - T} - - sig PENDING T{ - see - .BR pending . - (alias --.BR pending , \ sig_pend ). -+.BR pending ", " sig_pend ). - T} - - sigcatch CAUGHT T{ - see - .BR caught . - (alias --.BR caught , \ sig_catch ). -+.BR caught ", " sig_catch ). - T} - - sigignore IGNORED T{ - see - .BR ignored . - (alias --.BR ignored , \ sig_ignore ). -+.BR ignored ", " sig_ignore ). - T} - - sigmask BLOCKED T{ - see - .BR blocked . - (alias --.BR blocked , \ sig_block ). -+.BR blocked ", " sig_block ). - T} - - size SIZE T{ -@@ -1626,7 +1640,7 @@ spid SPID T{ - see - .BR lwp . - (alias --.BR lwp , \ tid ). -+.BR lwp ", " tid ). - T} - - stackp STACKP T{ -@@ -1637,7 +1651,7 @@ start STARTED T{ - time the command started. If the process was started less than 24 hours ago, - the output format is "HH:MM:SS", else it is "\ \ Mmm\ dd" (where Mmm is a - three\-letter month name). See also --.BR lstart , \ bsdstart , \ start_time ", and" \ stime . -+.BR lstart ", " bsdstart ", " start_time ", and " stime . - T} - - start_time START T{ -@@ -1646,7 +1660,7 @@ process was not started the same year - .B ps - was invoked, or "MmmDD" if it was not started the same day, or "HH:MM" - otherwise. See also --.BR bsdstart , \ start , \ lstart ", and" \ stime . -+.BR bsdstart ", " start ", " lstart ", and " stime . - T} - - stat STAT T{ -@@ -1659,7 +1673,7 @@ T} - - state S T{ - see --.BR s ". (alias" \ s ). -+.BR s ".\& (alias" \ s ). - T} - - suid SUID T{ -@@ -1720,7 +1734,7 @@ T} - - tid TID T{ - the unique number representing a dispatchable entity (alias --.BR lwp , \ spid ). -+.BR lwp ", " spid ). - This value may also appear as: a process ID (pid); a process group ID (pgrp); - a session ID for the session leader (sid); a thread group ID for the thread - group leader (tgid); and a tty process group ID for the process group leader -@@ -1739,7 +1753,7 @@ T} - - tname TTY T{ - controlling tty (terminal). (alias --.BR tt , \ tty ). -+.BR tt ", " tty ). - T} - - tpgid TPGID T{ -@@ -1748,31 +1762,32 @@ connected to, or \-1 if the process is not connected to a tty. - T} - - trs TRS T{ --text resident set size, the amount of physical memory devoted to executable code. -+text resident set size, -+the amount of physical memory devoted to executable code. - T} - - tt TT T{ - controlling tty (terminal). (alias --.BR tname , \ tty ). -+.BR tname ", " tty ). - T} - - tty TT T{ - controlling tty (terminal). (alias --.BR tname , \ tt ). -+.BR tname ", " tt ). - T} - - ucmd CMD T{ - see - .BR comm . - (alias --.BR comm , \ ucomm ). -+.BR comm ", " ucomm ). - T} - - ucomm COMMAND T{ - see - .BR comm . - (alias --.BR comm , \ ucmd ). -+.BR comm ", " ucmd ). - T} - - uid UID T{ -@@ -1786,7 +1801,7 @@ uname USER T{ - see - .BR euser . - (alias --.BR euser , \ user ). -+.BR euser ", " user ). - T} - - unit UNIT T{ -@@ -1798,15 +1813,17 @@ user USER T{ - see - .BR euser . - (alias --.BR euser , \ uname ). -+.BR euser ", " uname ). - T} - - userns USERNS T{ --Unique inode number describing the namespace the process belongs to. See namespaces(7). -+Unique inode number describing the namespace the process belongs to. -+See namespaces(7). - T} - - utsns UTSNS T{ --Unique inode number describing the namespace the process belongs to. See namespaces(7). -+Unique inode number describing the namespace the process belongs to. -+See namespaces(7). - T} - - uunit UUNIT T{ -@@ -1836,8 +1853,6 @@ T} - - .TE - .\" ####################################################################### --.PP --.PP - .SH "ENVIRONMENT VARIABLES" - The following environment variables could affect - .BR ps : -@@ -1849,12 +1864,12 @@ Override default display width. - Override default display height. - .TP - .B PS_PERSONALITY --Set to one of posix, old, linux, bsd, sun, digital... (see section -+Set to one of posix, old, linux, bsd, sun, digital...\& (see section - .B PERSONALITY - below). - .TP - .B CMD_ENV --Set to one of posix, old, linux, bsd, sun, digital... (see section -+Set to one of posix, old, linux, bsd, sun, digital...\& (see section - .B PERSONALITY - below). - .TP -@@ -1868,8 +1883,8 @@ Date format. - Not currently supported. - .TP - .B PS_FORMAT --Default output format override. You may set this to a format --string of the type used for the -+Default output format override. -+You may set this to a format string of the type used for the - .B \-o - option. - The -@@ -1889,7 +1904,10 @@ When set to "on", acts as - Don't find excuses to ignore bad "features". - .TP - .B _XPG --Cancel \fBCMD_ENV\fR=\fIirix\fR non\-standard behavior. -+Cancel -+.BR CMD_ENV =\c -+.I irix -+non\-standard behavior. - .PP - In general, it is a bad idea to set these variables. The one exception is - .B CMD_ENV -@@ -1898,7 +1916,6 @@ or - which could be set to Linux for normal systems. Without that setting, - .B ps - follows the useless and bad parts of the Unix98 standard. --.PP - .SH "PERSONALITY" - .TS - l l. -@@ -1928,15 +1945,11 @@ unix standard - unix95 standard - unix98 standard - .TE --.PP --.PP - .SH "SEE ALSO" - .BR pgrep (1), - .BR pstree (1), - .BR top (1), - .BR proc (5). --.PP --.PP - .SH STANDARDS - This - .B ps -@@ -1954,36 +1967,35 @@ X/Open System Interfaces Extension [UP\ XSI] - .IP 5 4 - ISO/IEC 9945:2003 - .PD --.PP - .SH AUTHOR - .B ps - was originally written by --.UR lankeste@\:fwi.\:uva.\:nl -+.MT lankeste@\:fwi.\:uva.\:nl - Branko Lankester --.UE . --.UR johnsonm@\:redhat.\:com --Michael K. Johnson --.UE -+.ME . -+.MT johnsonm@\:redhat.\:com -+Michael K.\& Johnson -+.ME - re\-wrote it significantly to use the proc filesystem, changing a few things - in the process. --.UR mjshield@\:nyx.\:cs.\:du.\:edu -+.MT mjshield@\:nyx.\:cs.\:du.\:edu - Michael Shields --.UE -+.ME - added the pid\-list feature. --.UR cblake@\:bbn.\:com -+.MT cblake@\:bbn.\:com - Charles Blake --.UE -+.ME - added multi\-level sorting, the dirent\-style library, the device - name\-to\-number mmaped database, the approximate binary search directly on - System.map, and many code and documentation cleanups. David Mossberger\-Tang - wrote the generic BFD support for psupdate. --.UR albert@\:users.\:sf.\:net -+.MT albert@\:users.\:sf.\:net - Albert Cahalan --.UE -+.ME - rewrote ps for full Unix98 and BSD support, along with some ugly hacks for - obsolete and foreign syntax. - .PP - Please send bug reports to --.UR procps@\:freelists.\:org --.UE . -+.MT procps@\:freelists.\:org -+.ME . - No subscription is required or suggested. -diff --git a/skill.1 b/skill.1 -index 8ef7683..29a5667 100644 ---- a/skill.1 -+++ b/skill.1 -@@ -1,19 +1,19 @@ --'\" t --.\" (The preceding line is a note to broken versions of man to tell --.\" them to pre-process this man page with tbl) --.\" Man page for skill and snice. --.\" Licensed under version 2 of the GNU General Public License. --.\" Written by Albert Cahalan, converted to a man page by --.\" Michael K. Johnson --.\" --.TH SKILL 1 "October 2011" "procps-ng" "User Commands" -+.ig -+Written by Albert Cahalan, converted to a man page by Michael K. Johnson -+ -+This manpage is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by the -+Free Software Foundation; either version 2 of the License, or -+(at your option) any later version. -+.. -+.TH SKILL 1 "2018-05-31" "procps-ng" "User Commands" - .SH NAME - skill, snice \- send a signal or report process status - .SH SYNOPSIS - .B skill - .RI [ signal ] - .RI [ options ] --.I expression -+.I expression - .br - .B snice - .RI [ "new priority" ] -@@ -81,7 +81,7 @@ The next expression is a command name. - \fB\-\-ns \fIpid\fR - Match the processes that belong to the same namespace as pid. - .TP --\fB\-\-nslist \fIns,...\fR -+\fB\-\-nslist \fIns\/\fR,\,\fI...\/\fR - list which namespaces will be considered for the --ns option. - Available namespaces: ipc, mnt, net, pid, user, uts. - .PD -@@ -91,7 +91,7 @@ The behavior of signals is explained in - manual page. - .SH EXAMPLES - .TP --.B snice -c seti -c crack +7 -+.B snice \-c seti \-c crack +7 - Slow down seti and crack commands. - .TP - .B skill \-KILL \-t /dev/pts/* -@@ -110,12 +110,12 @@ Stop three users. - .SH STANDARDS - No standards apply. - .SH AUTHOR --.UR albert@users.sf.net -+.MT albert@users.sf.net - Albert Cahalan --.UE -+.ME - wrote skill and snice in 1999 as a replacement for a non-free - version. - .SH "REPORTING BUGS" - Please send bug reports to --.UR procps@freelists.org --.UE -+.MT procps@freelists.org -+.ME --- -2.6.4.windows.1 - diff --git a/library-avoid-problems-involving-supgid-mishandling.patch b/library-avoid-problems-involving-supgid-mishandling.patch deleted file mode 100644 index 936c016..0000000 --- a/library-avoid-problems-involving-supgid-mishandling.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f9a8009e27d47a61096ff7bf1de37a90f0f801e6 Mon Sep 17 00:00:00 2001 -From: Jim Warner -Date: Wed, 30 May 2018 00:00:00 -0500 -Subject: [PATCH 08/65] 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 ---- - proc/readproc.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -diff --git a/proc/readproc.c b/proc/readproc.c -index 0f00231..ea7a31b 100644 ---- a/proc/readproc.c -+++ b/proc/readproc.c -@@ -387,12 +387,15 @@ ENTER(0x220); - P->vm_swap = strtol(S,&S,10); - continue; - case_Groups: -- { char *nl = strchr(S, '\n'); -- size_t j = nl ? (size_t)(nl - S) : strlen(S); -+ { char *ss = S, *nl = strchr(S, '\n'); -+ size_t j; - -+ while (' ' == *ss || '\t' == *ss) ss++; -+ if (ss >= nl) continue; -+ j = nl ? (size_t)(nl - ss) : strlen(ss); - if (j > 0 && j < INT_MAX) { - P->supgid = xmalloc(j+1); // +1 in case space disappears -- memcpy(P->supgid, S, j); -+ memcpy(P->supgid, ss, j); - if (unlikely(' ' != P->supgid[--j])) ++j; - P->supgid[j] = '\0'; // whack the space or the newline - for ( ; j; j--) -@@ -472,7 +475,11 @@ static void supgrps_from_supgids (proc_t *p) { - - while (',' == *s) ++s; - gid = strtol(s, &end, 10); -- if (end <= s) break; -+ if (end <= s) { -+ if (!p->supgrp) -+ p->supgrp = xstrdup("-"); -+ break; -+ } - s = end; - g = pwcache_get_group(gid); - --- -2.6.4.windows.1 - diff --git a/procio-fix-potential-out-of-bounds-access-when-write.patch b/procio-fix-potential-out-of-bounds-access-when-write.patch deleted file mode 100644 index 6d69629..0000000 --- a/procio-fix-potential-out-of-bounds-access-when-write.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 3eb4b5375f7ffca0e21fac479dfa688cae936641 Mon Sep 17 00:00:00 2001 -From: Patrick Steinhardt -Date: Tue, 29 May 2018 13:20:00 +0200 -Subject: [PATCH 62/65] procio: fix potential out-of-bounds access when write - fails - -When writing to procfs via `proc_write` fails, we try to chunk the -buffer into smaller pieces to work around that issue. When searching for -the next location to split the buffer, though, we can underflow the -buffer in case the current offset is smaller than `LINELEN`. Fix the -issue by passing `cookie->offset` instead of `LINELEN` into `memrchr` in -case `cookie->offset` is smaller than `LINELEN`. - -This bug can be triggered on musl-based systems, e.g. by executing - - $ sysctl kernel.printk_ratelimit=1000000000000000 - -As the value is out-of-range, `write` will return an error and set -`errno` to `EINVAL`. As we're only trying to write a smallish buffer -with a length smaller than `LINELEN` and as the buffer does not contain -any newlines, the call - - token = (char*)memrchr(cookie->buf+offset, '\n', LINELEN); - -will underflow the buffer and crash the program. - -Signed-off-by: Patrick Steinhardt ---- - procio.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/procio.c b/procio.c -index 2813cd5..f3258ff 100644 ---- a/procio.c -+++ b/procio.c -@@ -251,7 +251,7 @@ ssize_t proc_write(void *c, const char *buf, size_t count) - if (cookie->offset > LINELEN) - token = (char*)memrchr(cookie->buf+offset, cookie->delim, LINELEN); - else -- token = (char*)memrchr(cookie->buf+offset, '\n', LINELEN); -+ token = (char*)memrchr(cookie->buf+offset, '\n', cookie->offset); - if (token) - *token = '\n'; - else { --- -2.6.4.windows.1 - diff --git a/procio-use-the-user-supplied-delimiter-to-split-larg.patch b/procio-use-the-user-supplied-delimiter-to-split-larg.patch deleted file mode 100644 index cb10b76..0000000 --- a/procio-use-the-user-supplied-delimiter-to-split-larg.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 32720b2ee6c36b84005a002def17e79e3ab009e1 Mon Sep 17 00:00:00 2001 -From: Patrick Steinhardt -Date: Fri, 8 Jun 2018 13:27:20 +0200 -Subject: [PATCH 61/65] procio: use the user-supplied delimiter to split large - input - -The `fprocopen` function allows users to specify a delimiter chacter -that is used to split very large input lines into smaller chunks. While -the code checks that the caller did actually supply the delimiter, it is -in fact never used to split the string. Instead, the hardcoded default -character ',' is always used to split the string. - -Fix the issue by using `cookie->delim` instead. ---- - procio.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/procio.c b/procio.c -index ad9b4de..2813cd5 100644 ---- a/procio.c -+++ b/procio.c -@@ -249,7 +249,7 @@ ssize_t proc_write(void *c, const char *buf, size_t count) - do { - token = NULL; - if (cookie->offset > LINELEN) -- token = (char*)memrchr(cookie->buf+offset, ',', LINELEN); -+ token = (char*)memrchr(cookie->buf+offset, cookie->delim, LINELEN); - else - token = (char*)memrchr(cookie->buf+offset, '\n', LINELEN); - if (token) --- -2.6.4.windows.1 - diff --git a/procps-ng-3.3.15.tar.xz b/procps-ng-3.3.15.tar.xz deleted file mode 100644 index 5a95244..0000000 Binary files a/procps-ng-3.3.15.tar.xz and /dev/null differ diff --git a/procps-ng-3.3.16.tar.xz b/procps-ng-3.3.16.tar.xz new file mode 100644 index 0000000..9778a88 Binary files /dev/null and b/procps-ng-3.3.16.tar.xz differ diff --git a/procps-ng.spec b/procps-ng.spec index 6bee361..0dbdb33 100644 --- a/procps-ng.spec +++ b/procps-ng.spec @@ -1,6 +1,6 @@ Name: procps-ng -Version: 3.3.15 -Release: 10 +Version: 3.3.16 +Release: 11 Summary: Utilities that provide system information. License: GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+ URL: https://sourceforge.net/projects/procps-ng/ @@ -11,23 +11,6 @@ Source2: README.top Patch9000: feature-add-options-M-and-N-for-top.patch Patch9001: bugfix-top-exit-with-error-when-pid-overflow.patch -Patch6002: top-fix-iokey-flaw-preventing-proper-translations.patch -Patch6003: Possible-segfault-in-file2strvec-introduced-by-lates.patch -Patch6004: top-don-t-mess-with-groff-line-length-in-man-documen.patch -Patch6005: top-add-another-field-sanity-check-in-config_file.patch -Patch6006: top-prevent-buffer-overruns-in-inspection_utility.patch -Patch6007: docs-Tidying-of-ps-kill-and-skill-manpages.patch -Patch6008: library-avoid-problems-involving-supgid-mishandling.patch -Patch6009: w-Prevent-out-of-bounds-reads-in-print_display_or_in.patch -Patch6010: w-Clamp-maxcmd-to-the-MIN-MAX_CMD_WIDTH-range.patch -Patch6011: vmstat-getopt-returns-1-when-done-not-EOF.patch -Patch6012: vmstat-Replace-memcmp-with-strncmp.patch -Patch6013: vmstat-Check-return-values-of-localtime-and-strftime.patch -Patch6014: vmstat-Prevent-out-of-bounds-writes-in-new_header-an.patch -Patch6015: top-the-define-PRETEND2_5_X-was-found-to-be-broken.patch -Patch6016: procio-use-the-user-supplied-delimiter-to-split-larg.patch -Patch6017: procio-fix-potential-out-of-bounds-access-when-write.patch -Patch6018: sysctl-do-not-report-set-key-in-case-close_stream-fa.patch BuildRequires: ncurses-devel libtool autoconf automake gcc gettext-devel systemd-devel @@ -107,9 +90,16 @@ ln -s %{_bindir}/pidof %{buildroot}%{_sbindir}/pidof %files help %doc AUTHORS Documentation/bugs.md Documentation/FAQ NEWS README.md top/README.top Documentation/TODO %{_mandir}/man* - +%{_mandir}/translated %changelog +* Tue Jan 7 2020 MarsChan - 3.3.16-11 +- Type:upgrade +- ID:NA +- SUG:NA +- DESC: upgrade to version 3.3.16 and delete the patch between + 3.3.15 and 3.3.16. + * Mon Dec 23 2019 wangshuo - 3.3.15-10 - Type:bugfix - ID:NA diff --git a/sysctl-do-not-report-set-key-in-case-close_stream-fa.patch b/sysctl-do-not-report-set-key-in-case-close_stream-fa.patch deleted file mode 100644 index d822dcd..0000000 --- a/sysctl-do-not-report-set-key-in-case-close_stream-fa.patch +++ /dev/null @@ -1,40 +0,0 @@ -From da82fe49b1476d227874905068adb69577e11d96 Mon Sep 17 00:00:00 2001 -From: Patrick Steinhardt -Date: Tue, 29 May 2018 13:29:03 +0200 -Subject: [PATCH 63/65] sysctl: do not report set key in case `close_stream` - fails - -As we're using buffered I/O when writing kernel parameters, write errors -may get delayed until we close the `FILE` stream. As we are currently -outputting the key that is to be set disregarding the return value of -`close_stream`, we may end up in a situation where we report error and -success: - - $ sysctl kernel.printk_ratelimit=100000000000000 - sysctl: setting key "kernel.printk_ratelimit": error code 22 - kernel.printk_ratelimit = 100000000000000 - -Fix the issue by only outputting the updated value in case -`close_stream` does not report an error. - -Signed-off-by: Patrick Steinhardt ---- - sysctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sysctl.c b/sysctl.c -index 2371ca9..2172759 100644 ---- a/sysctl.c -+++ b/sysctl.c -@@ -465,7 +465,7 @@ static int WriteSetting(const char *setting) - rc = 0; - if (close_stream(fp) != 0) - xwarn(_("setting key \"%s\""), outname); -- if (rc == 0 && !Quiet) { -+ else if (rc == 0 && !Quiet) { - if (NameOnly) { - fprintf(stdout, "%s\n", outname); - } else { --- -2.6.4.windows.1 - diff --git a/top-add-another-field-sanity-check-in-config_file.patch b/top-add-another-field-sanity-check-in-config_file.patch deleted file mode 100644 index db76bf8..0000000 --- a/top-add-another-field-sanity-check-in-config_file.patch +++ /dev/null @@ -1,46 +0,0 @@ -From a42742b0df64a3b282eac469447e9f57d416449e Mon Sep 17 00:00:00 2001 -From: Jim Warner -Date: Wed, 23 May 2018 00:00:00 -0500 -Subject: [PATCH 03/65] top: add another field sanity check in 'config_file()' - -Until the Qualys security audit I had never considered -it a possibility that some malicious person might edit -the top config file to achieve some nefarious results. - -And while the Qualys approach tended to concentrate on -the symptoms from such an effort, subsequent revisions -more properly concentrated on startup and that rcfile. - -This commit completes those efforts with 1 more field. - -Signed-off-by: Jim Warner ---- - top/top.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/top/top.c b/top/top.c -index d890140..0c02201 100644 ---- a/top/top.c -+++ b/top/top.c -@@ -3759,8 +3759,7 @@ static const char *config_file (FILE *fp, const char *name, float *delay) { - return p; - - if (4 != fscanf(fp, "\tsummclr=%d, msgsclr=%d, headclr=%d, taskclr=%d\n" -- , &w->rc.summclr, &w->rc.msgsclr -- , &w->rc.headclr, &w->rc.taskclr)) -+ , &w->rc.summclr, &w->rc.msgsclr, &w->rc.headclr, &w->rc.taskclr)) - return p; - if (w->rc.summclr < 0 || w->rc.summclr > 7) return p; - if (w->rc.msgsclr < 0 || w->rc.msgsclr > 7) return p; -@@ -3804,6 +3803,8 @@ static const char *config_file (FILE *fp, const char *name, float *delay) { - Rc.summ_mscale = 0; - if (Rc.task_mscale < 0 || Rc.task_mscale > SK_Pb) - Rc.task_mscale = 0; -+ if (Rc.zero_suppress < 0 || Rc.zero_suppress > 1) -+ Rc.zero_suppress = 0; - - // we'll start off Inspect stuff with 1 'potential' blank line - // ( only realized if we end up with Inspect.total > 0 ) --- -2.6.4.windows.1 - diff --git a/top-don-t-mess-with-groff-line-length-in-man-documen.patch b/top-don-t-mess-with-groff-line-length-in-man-documen.patch deleted file mode 100644 index 80e2760..0000000 --- a/top-don-t-mess-with-groff-line-length-in-man-documen.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cc5c9e6c1ea1911cb53f1cb0643cbc5f6e4cad1d Mon Sep 17 00:00:00 2001 -From: Jim Warner -Date: Sun, 20 May 2018 00:00:00 -0500 -Subject: [PATCH 02/65] top: don't mess with groff line length in man document - -I've long since forgotten why the attempt to influence -groff line lengths was made. However, I did receive an -email regarding problems formatting postscript output. - -Hopefully this patch will eliminate any such problems. - -Signed-off-by: Jim Warner ---- - top/top.1 | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/top/top.1 b/top/top.1 -index b8405e9..3a00543 100644 ---- a/top/top.1 -+++ b/top/top.1 -@@ -6,11 +6,6 @@ - . This file may be copied under the terms of the GNU Public License. - .. - \# Setup //////////////////////////////////////////////////////////////// --\# ** Comment out '.nr' or set to 0 to eliminate WIDTH fiddlin' ! --.nr half_xtra 4 --. --.ll +(\n[half_xtra] + \n[half_xtra]) --. - \# Commonly used strings (for consistency) ---------- - \# - our em-dashes - .ds Em \fR\ \-\-\ \fR --- -2.6.4.windows.1 - diff --git a/top-fix-iokey-flaw-preventing-proper-translations.patch b/top-fix-iokey-flaw-preventing-proper-translations.patch deleted file mode 100644 index e8afc82..0000000 --- a/top-fix-iokey-flaw-preventing-proper-translations.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/top/top.c b/top/top.c -index d1dbf95..9e41999 100644 ---- a/top/top.c -+++ b/top/top.c -@@ -1138,7 +1138,7 @@ static int iokey (int action) { - const char *str; - int key; - } tinfo_tab[] = { -- { "\033\n",kbd_ENTER }, { NULL, kbd_UP }, { NULL, kbd_DOWN }, -+ { "\n", kbd_ENTER }, { NULL, kbd_UP }, { NULL, kbd_DOWN }, - { NULL, kbd_LEFT }, { NULL, kbd_RIGHT }, { NULL, kbd_PGUP }, - { NULL, kbd_PGDN }, { NULL, kbd_HOME }, { NULL, kbd_END }, - { NULL, kbd_BKSP }, { NULL, kbd_INS }, { NULL, kbd_DEL }, diff --git a/top-prevent-buffer-overruns-in-inspection_utility.patch b/top-prevent-buffer-overruns-in-inspection_utility.patch deleted file mode 100644 index d37ad9d..0000000 --- a/top-prevent-buffer-overruns-in-inspection_utility.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 434530a038023f2e2fcb0a9b7341cbdefc08baef Mon Sep 17 00:00:00 2001 -From: Jim Warner -Date: Thu, 24 May 2018 00:00:00 -0500 -Subject: [PATCH 04/65] top: prevent buffer overruns in 'inspection_utility()' - -When a Qualys patch was reverted as being unwarranted, -1 specific problem their patch had, in fact, prevented -was re-introduced. This patch corrects that oversight. - -Reference(s): -. qualys patch revert -commit c5026787156d23512487ad9bbf540be7e3ee8de1 - -Signed-off-by: Jim Warner ---- - top/top.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/top/top.c b/top/top.c -index 0c02201..6777942 100644 ---- a/top/top.c -+++ b/top/top.c -@@ -3468,8 +3468,8 @@ static void inspection_utility (int pid) { - Inspect.tab[sel].caps = "~4"; dst[0] = '\0'; \ - for (i = 0; i < Inspect.total; i++) { char _s[SMLBUFSIZ]; \ - snprintf(_s, sizeof(_s), " %s %s", Inspect.tab[i].name, Inspect.tab[i].caps); \ -- strcat(dst, _s); } } -- char sels[MEDBUFSIZ]; -+ strncat(dst, _s, (sizeof(dst) - 1) - strlen(dst)); } } -+ char sels[SCREENMAX]; - static int sel; - int i, key; - proc_t *p; --- -2.6.4.windows.1 - diff --git a/top-the-define-PRETEND2_5_X-was-found-to-be-broken.patch b/top-the-define-PRETEND2_5_X-was-found-to-be-broken.patch deleted file mode 100644 index b7aa4d1..0000000 --- a/top-the-define-PRETEND2_5_X-was-found-to-be-broken.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 2b82cbfc2aa25d613414d9b164ae5773ca31045f Mon Sep 17 00:00:00 2001 -From: Jim Warner -Date: Tue, 14 Aug 2018 00:00:00 -0500 -Subject: [PATCH 53/65] top: the '#define PRETEND2_5_X' was found to be broken - -Our newlib branch has already dropped support for such -old kernels. However, the master branch still supports -them. So this patch will correct a broken #define that -is used to influence the top Summary Area information. - -Signed-off-by: Jim Warner ---- - top/top.c | 4 ++++ - top/top.h | 4 ---- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/top/top.c b/top/top.c -index 46ffdc5..4146ddb 100644 ---- a/top/top.c -+++ b/top/top.c -@@ -3615,7 +3615,11 @@ static void before (char *me) { - struct sigaction sa; - proc_t p; - int i; -+#ifndef PRETEND2_5_X - int linux_version_code = procps_linux_version(); -+#else -+ int linux_version_code = LINUX_VERSION(2,5,43); -+#endif - - atexit(close_stdout); - -diff --git a/top/top.h b/top/top.h -index b6e970c..4a7c49a 100644 ---- a/top/top.h -+++ b/top/top.h -@@ -92,10 +92,6 @@ - /* For prompting & helping with top's utf-8 support, thanks to: - Göran Uddeborg - September, 2017 */ - --#ifdef PRETEND2_5_X --#define linux_version_code LINUX_VERSION(2,5,43) --#endif -- - // pretend as if #define _GNU_SOURCE - char *strcasestr(const char *haystack, const char *needle); - --- -2.6.4.windows.1 - diff --git a/vmstat-Check-return-values-of-localtime-and-strftime.patch b/vmstat-Check-return-values-of-localtime-and-strftime.patch deleted file mode 100644 index 6093659..0000000 --- a/vmstat-Check-return-values-of-localtime-and-strftime.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 0b55f0dc80e886d43c2e966000e6d56c6535cdb0 Mon Sep 17 00:00:00 2001 -From: Qualys Security Advisory -Date: Thu, 1 Jan 1970 00:00:00 +0000 -Subject: [PATCH 16/65] vmstat: Check return values of localtime() and - strftime(). - -Otherwise it leads to NULL-pointer dereferences (in case of localtime() -errors) and indeterminate contents of timebuf (in case of strftime() -errors). ---- - vmstat.c | 28 ++++++++++++++++++++++------ - 1 file changed, 22 insertions(+), 6 deletions(-) - -diff --git a/vmstat.c b/vmstat.c -index c5f6d62..837244a 100644 ---- a/vmstat.c -+++ b/vmstat.c -@@ -255,7 +255,7 @@ static void new_header(void) - if (t_option) { - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); -- if (strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) { -+ if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) { - timebuf[strlen(timestamp_header) - 1] = '\0'; - } else { - timebuf[0] = '\0'; -@@ -307,7 +307,11 @@ static void new_format(void) - if (t_option) { - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); -- strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr); -+ if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr)) { -+ ; -+ } else { -+ timebuf[0] = '\0'; -+ } - } - - duse = *cpu_use + *cpu_nic; -@@ -360,7 +364,11 @@ static void new_format(void) - if (t_option) { - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); -- strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr); -+ if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr)) { -+ ; -+ } else { -+ timebuf[0] = '\0'; -+ } - } - - duse = -@@ -557,7 +565,7 @@ static void diskheader(void) - if (t_option) { - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); -- if (strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) { -+ if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) { - timebuf[strlen(timestamp_header) - 1] = '\0'; - } else { - timebuf[0] = '\0'; -@@ -591,7 +599,11 @@ static void diskformat(void) - if (t_option) { - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); -- strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr); -+ if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr)) { -+ ; -+ } else { -+ timebuf[0] = '\0'; -+ } - } - - if (!moreheaders) -@@ -630,7 +642,11 @@ static void diskformat(void) - if (t_option) { - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); -- strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr); -+ if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm_ptr)) { -+ ; -+ } else { -+ timebuf[0] = '\0'; -+ } - } - - for (i = 0; i < ndisks; i++, k++) { --- -2.6.4.windows.1 - diff --git a/vmstat-Prevent-out-of-bounds-writes-in-new_header-an.patch b/vmstat-Prevent-out-of-bounds-writes-in-new_header-an.patch deleted file mode 100644 index 4092222..0000000 --- a/vmstat-Prevent-out-of-bounds-writes-in-new_header-an.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0bfe708c4b22d901ded1148e5771946568817326 Mon Sep 17 00:00:00 2001 -From: Qualys Security Advisory -Date: Thu, 1 Jan 1970 00:00:00 +0000 -Subject: [PATCH 17/65] vmstat: Prevent out-of-bounds writes in new_header() - and diskheader(). - -This does not happen with the default string (" -----timestamp-----"), -but this string is translated (to unknown lengths). ---- - vmstat.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/vmstat.c b/vmstat.c -index 837244a..e0fe5f6 100644 ---- a/vmstat.c -+++ b/vmstat.c -@@ -256,7 +256,10 @@ static void new_header(void) - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); - if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) { -- timebuf[strlen(timestamp_header) - 1] = '\0'; -+ const size_t len = strlen(timestamp_header); -+ if (len >= 1 && len - 1 < sizeof(timebuf)) { -+ timebuf[len - 1] = '\0'; -+ } - } else { - timebuf[0] = '\0'; - } -@@ -566,7 +569,10 @@ static void diskheader(void) - (void) time( &the_time ); - tm_ptr = localtime( &the_time ); - if (tm_ptr && strftime(timebuf, sizeof(timebuf), "%Z", tm_ptr)) { -- timebuf[strlen(timestamp_header) - 1] = '\0'; -+ const size_t len = strlen(timestamp_header); -+ if (len >= 1 && len - 1 < sizeof(timebuf)) { -+ timebuf[len - 1] = '\0'; -+ } - } else { - timebuf[0] = '\0'; - } --- -2.6.4.windows.1 - diff --git a/vmstat-Replace-memcmp-with-strncmp.patch b/vmstat-Replace-memcmp-with-strncmp.patch deleted file mode 100644 index 3ae5e71..0000000 --- a/vmstat-Replace-memcmp-with-strncmp.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b4f471848111948d6edd9132b3619869cf89971a Mon Sep 17 00:00:00 2001 -From: Qualys Security Advisory -Date: Thu, 1 Jan 1970 00:00:00 +0000 -Subject: [PATCH 15/65] vmstat: Replace memcmp() with strncmp(). - -Otherwise this may read out-of-bounds (there is no guarantee that 5 -bytes are actually available at partition/optarg). ---- - vmstat.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vmstat.c b/vmstat.c -index 6eca2c4..c5f6d62 100644 ---- a/vmstat.c -+++ b/vmstat.c -@@ -909,7 +909,7 @@ int main(int argc, char *argv[]) - case 'p': - statMode |= PARTITIONSTAT; - partition = optarg; -- if (memcmp(partition, "/dev/", 5) == 0) -+ if (strncmp(partition, "/dev/", 5) == 0) - partition += 5; - break; - case 'S': --- -2.6.4.windows.1 - diff --git a/vmstat-getopt-returns-1-when-done-not-EOF.patch b/vmstat-getopt-returns-1-when-done-not-EOF.patch deleted file mode 100644 index ae51a42..0000000 --- a/vmstat-getopt-returns-1-when-done-not-EOF.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4ce81d4dccbf74bc20e049b08cf4fc712168fdf4 Mon Sep 17 00:00:00 2001 -From: Qualys Security Advisory -Date: Thu, 1 Jan 1970 00:00:00 +0000 -Subject: [PATCH 14/65] vmstat: getopt*() returns -1 when done, not EOF. - -Luckily, EOF is usually -1, but this is not guaranteed by the standard. ---- - vmstat.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vmstat.c b/vmstat.c -index f2aa2f4..6eca2c4 100644 ---- a/vmstat.c -+++ b/vmstat.c -@@ -878,7 +878,7 @@ int main(int argc, char *argv[]) - - while ((c = - getopt_long(argc, argv, "afmnsdDp:S:wthV", longopts, -- NULL)) != EOF) -+ NULL)) != -1) - switch (c) { - case 'V': - printf(PROCPS_NG_VERSION); --- -2.6.4.windows.1 - diff --git a/w-Clamp-maxcmd-to-the-MIN-MAX_CMD_WIDTH-range.patch b/w-Clamp-maxcmd-to-the-MIN-MAX_CMD_WIDTH-range.patch deleted file mode 100644 index f091980..0000000 --- a/w-Clamp-maxcmd-to-the-MIN-MAX_CMD_WIDTH-range.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 2503ec36304d961fb7b8eebb5f6a38ba58247bb1 Mon Sep 17 00:00:00 2001 -From: Qualys Security Advisory -Date: Thu, 1 Jan 1970 00:00:00 +0000 -Subject: [PATCH 13/65] w: Clamp maxcmd to the MIN/MAX_CMD_WIDTH range. - -The current checks allow out-of-range values (for example, if -getenv/atoi returns ~-2GB, maxcmd becomes ~+2GB after the subtraction). -This is not a security problem, none of this is under an attacker's -control. ---- - w.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/w.c b/w.c -index b3c0644..35710a3 100644 ---- a/w.c -+++ b/w.c -@@ -579,11 +579,14 @@ int main(int argc, char **argv) - maxcmd = atoi(p); - else - maxcmd = MAX_CMD_WIDTH; -- if (MAX_CMD_WIDTH < maxcmd) -- maxcmd = MAX_CMD_WIDTH; -+#define CLAMP_CMD_WIDTH(cw) do { \ -+ if ((cw) < MIN_CMD_WIDTH) (cw) = MIN_CMD_WIDTH; \ -+ if ((cw) > MAX_CMD_WIDTH) (cw) = MAX_CMD_WIDTH; \ -+} while (0) -+ CLAMP_CMD_WIDTH(maxcmd); - maxcmd -= 21 + userlen + (from ? fromlen : 0) + (longform ? 20 : 0); -- if (maxcmd < MIN_CMD_WIDTH) -- maxcmd = MIN_CMD_WIDTH; -+ CLAMP_CMD_WIDTH(maxcmd); -+#undef CLAMP_CMD_WIDTH - - procs = readproctab(PROC_FILLCOM | PROC_FILLUSR | PROC_FILLSTAT); - --- -2.6.4.windows.1 - diff --git a/w-Prevent-out-of-bounds-reads-in-print_display_or_in.patch b/w-Prevent-out-of-bounds-reads-in-print_display_or_in.patch deleted file mode 100644 index b40cbfb..0000000 --- a/w-Prevent-out-of-bounds-reads-in-print_display_or_in.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 3a437012f0e4041c2c1e9cbf0f08ad4b880fe80f Mon Sep 17 00:00:00 2001 -From: Qualys Security Advisory -Date: Thu, 1 Jan 1970 00:00:00 +0000 -Subject: [PATCH 12/65] w: Prevent out-of-bounds reads in - print_display_or_interface(). - -They occur if disp or tmp reaches host + len: add checks. Also, constify -everything. ---- - w.c | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/w.c b/w.c -index 2bee396..b3c0644 100644 ---- a/w.c -+++ b/w.c -@@ -113,21 +113,22 @@ static void print_host(const char *restrict host, int len, const int fromlen) - /* This routine prints the display part of the host or IPv6 link address interface */ - static void print_display_or_interface(const char *restrict host, int len, int restlen) - { -- char *disp,*tmp; -+ const char *const end = host + (len > 0 ? len : 0); -+ const char *disp, *tmp; - - if (restlen <= 0) return; /* not enough space for printing anything */ - - /* search for a collon (might be a display) */ -- disp = (char *)host; -- while ( (disp < (host + len)) && (*disp != ':') && isprint(*disp) ) disp++; -+ disp = host; -+ while ( (disp < end) && (*disp != ':') && isprint(*disp) ) disp++; - - /* colon found */ -- if (*disp == ':') { -+ if (disp < end && *disp == ':') { - /* detect multiple colons -> IPv6 in the host (not a display) */ - tmp = disp+1; -- while ( (tmp < (host + len)) && (*tmp != ':') && isprint(*tmp) ) tmp++; -+ while ( (tmp < end) && (*tmp != ':') && isprint(*tmp) ) tmp++; - -- if (*tmp != ':') { /* multiple colons not found - it's a display */ -+ if (tmp >= end || *tmp != ':') { /* multiple colons not found - it's a display */ - - /* number of chars till the end of the input field */ - len -= (disp - host); -@@ -149,9 +150,9 @@ static void print_display_or_interface(const char *restrict host, int len, int r - } else { /* multiple colons found - it's an IPv6 address */ - - /* search for % (interface separator in case of IPv6 link address) */ -- while ( (tmp < (host + len)) && (*tmp != '%') && isprint(*tmp) ) tmp++; -+ while ( (tmp < end) && (*tmp != '%') && isprint(*tmp) ) tmp++; - -- if (*tmp == '%') { /* interface separator found */ -+ if (tmp < end && *tmp == '%') { /* interface separator found */ - - /* number of chars till the end of the input field */ - len -= (tmp - host); -@@ -170,7 +171,6 @@ static void print_display_or_interface(const char *restrict host, int len, int r - fputc('-', stdout); - } - } -- - } - } - --- -2.6.4.windows.1 -