summaryrefslogtreecommitdiff
path: root/sys-process/procps/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
commit908778078736bd36f7a60a2d576d415cb8e000fa (patch)
treec6a4796c48b608c14dc7e9674cdbd38f905e3c15 /sys-process/procps/files
parent185fa19bbf68a4d4dca534d2b46729207a177f16 (diff)
gentoo resync : 22.05.2021
Diffstat (limited to 'sys-process/procps/files')
-rw-r--r--sys-process/procps/files/procps-3.3.16-SC_ARG_MAX_sanity_check.patch60
-rw-r--r--sys-process/procps/files/procps-3.3.16-toprc_backwards_compatibility.patch71
2 files changed, 0 insertions, 131 deletions
diff --git a/sys-process/procps/files/procps-3.3.16-SC_ARG_MAX_sanity_check.patch b/sys-process/procps/files/procps-3.3.16-SC_ARG_MAX_sanity_check.patch
deleted file mode 100644
index 1b85c2c855f1..000000000000
--- a/sys-process/procps/files/procps-3.3.16-SC_ARG_MAX_sanity_check.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From bb96fc42956c9ed926a1b958ab715f8b4a663dec Mon Sep 17 00:00:00 2001
-From: Craig Small <csmall@dropbear.xyz>
-Date: Sun, 5 Jan 2020 15:05:55 +1100
-Subject: [PATCH] pgrep: check sanity of SC_ARG_MAX
-
-A kernel change means we cannot trust what sysconf(SC_ARG_MAX)
-returns. We clamp it so its more than 4096 and less than 128*1024
-which is what findutils does.
-
-References:
- procps-ng/procps#152
- https://git.savannah.gnu.org/cgit/findutils.git/tree/lib/buildcmd.c#n535
- https://lwn.net/Articles/727862/
----
- pgrep.c | 22 +++++++++++++++++++++-
- 1 file changed, 21 insertions(+), 1 deletion(-)
-
-diff --git a/pgrep.c b/pgrep.c
-index 01563db..bde7448 100644
---- a/pgrep.c
-+++ b/pgrep.c
-@@ -485,6 +485,26 @@ static regex_t * do_regcomp (void)
- return preg;
- }
-
-+/*
-+ * SC_ARG_MAX used to return the maximum size a command line can be
-+ * however changes to the kernel mean this can be bigger than we can
-+ * alloc. Clamp it to 128kB like xargs and friends do
-+ * Should also not be smaller than POSIX_ARG_MAX which is 4096
-+ */
-+static size_t get_arg_max(void)
-+{
-+#define MIN_ARG_SIZE 4096u
-+#define MAX_ARG_SIZE (128u * 1024u)
-+
-+ size_t val = sysconf(_SC_ARG_MAX);
-+
-+ if (val < MIN_ARG_SIZE)
-+ val = MIN_ARG_SIZE;
-+ if (val > MAX_ARG_SIZE)
-+ val = MAX_ARG_SIZE;
-+
-+ return val;
-+}
- static struct el * select_procs (int *num)
- {
- PROCTAB *ptp;
-@@ -497,7 +517,7 @@ static struct el * select_procs (int *num)
- regex_t *preg;
- pid_t myself = getpid();
- struct el *list = NULL;
-- long cmdlen = sysconf(_SC_ARG_MAX) * sizeof(char);
-+ long cmdlen = get_arg_max() * sizeof(char);
- char *cmdline = xmalloc(cmdlen);
- char *cmdsearch = xmalloc(cmdlen);
- char *cmdoutput = xmalloc(cmdlen);
---
-GitLab
-
diff --git a/sys-process/procps/files/procps-3.3.16-toprc_backwards_compatibility.patch b/sys-process/procps/files/procps-3.3.16-toprc_backwards_compatibility.patch
deleted file mode 100644
index 19721205dfe7..000000000000
--- a/sys-process/procps/files/procps-3.3.16-toprc_backwards_compatibility.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 5cd29e5093efa3c6ee9c5310b64347f1d54b707d Mon Sep 17 00:00:00 2001
-From: Jim Warner <james.warner@comcast.net>
-Date: Sat, 15 Feb 2020 00:00:00 -0600
-Subject: [PATCH] top: restore configuration file backward compatibility
-
-The Debian bug referenced below has nothing to do with
-locales. In fact, top was made locale independent back
-in release 3.3.13 (April, 2018). However, that bug did
-reveal some misplaced logic which this patch corrects.
-
-Prompted by the Qualys audit, all rcfile field strings
-were checked for potential duplicates which could only
-have resulted from some user's manual/malicious edits.
-
-Unfortunately, that code was executed before top had a
-chance to enforce the proper/maximum string length (in
-the event an extremely old rcfile had just been read).
-This created some potential string overrun references.
-
-In top's original 3.3.15 implementation, the potential
-overrun extended for 15 characters. That is the number
-of field characters added with 3.3.9 (December, 2013).
-But, since strchr() was used, no error exit was taken.
-
-In the revised 3.3.16 implementation, the strchr() was
-replaced with '&w->rc.fieldscur[n]'. This held overrun
-to a single position while producing an error message.
-
-So, this commit just moves that logic to a point where
-fieldscur is guaranteed to be longer than EU_MAXPFLGS.
-
-Reference(s):
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=951335
-. revised 3.3.16 validation logic
-commit 291d98ee5036567f93d21bc11142b0a7e2ee70ae
-. original 3.3.15 validation logic
-commit fdb58974e24c025a1f866f324c62f1d8f96234f8
-
-Signed-off-by: Jim Warner <james.warner@comcast.net>
----
-diff --git a/top/top.c b/top/top.c
-index 63ec5fe..b4fe21e 100644
---- a/top/top.c
-+++ b/top/top.c
-@@ -3939,11 +3939,6 @@ static const char *configs_file (FILE *fp, const char *name, float *delay) {
- // too bad fscanf is not as flexible with his format string as snprintf
- #error Hey, fix the above fscanf 'PFLAGSSIZ' dependency !
- #endif
-- // ensure there's been no manual alteration of fieldscur
-- for (n = 0 ; n < EU_MAXPFLGS; n++) {
-- if (&w->rc.fieldscur[n] != strrchr(w->rc.fieldscur, w->rc.fieldscur[n]))
-- return p;
-- }
- // be tolerant of missing release 3.3.10 graph modes additions
- if (3 > fscanf(fp, "\twinflags=%d, sortindx=%d, maxtasks=%d, graph_cpus=%d, graph_mems=%d\n"
- , &w->rc.winflags, &w->rc.sortindx, &w->rc.maxtasks, &w->rc.graph_cpus, &w->rc.graph_mems))
-@@ -3989,6 +3984,11 @@ static const char *configs_file (FILE *fp, const char *name, float *delay) {
- return p;
- break;
- }
-+ // ensure there's been no manual alteration of fieldscur
-+ for (n = 0 ; n < EU_MAXPFLGS; n++) {
-+ if (&w->rc.fieldscur[n] != strrchr(w->rc.fieldscur, w->rc.fieldscur[n]))
-+ return p;
-+ }
- #ifndef USE_X_COLHDR
- OFFw(w, NOHIFND_xxx | NOHISEL_xxx);
- #endif
---
-2.24.1
-