bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pgrep and pkill (any? arguments): cannot allocate 4294967295 bytes


From: Paul Dufresne
Subject: Re: pgrep and pkill (any? arguments): cannot allocate 4294967295 bytes
Date: Tue, 02 Feb 2021 13:02:27 -0500
User-agent: Zoho Mail

Upstream was changed:

https://gitlab.com/procps-ng/procps/-/blob/master/pgrep.c
long cmdlen = get_arg_max() * sizeof(char);
where get_arg_max is defined as:
/*
 * 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;
}
Was added 1 year ago:https://gitlab.com/procps-ng/procps/-/commit/bb96fc42956c9ed926a1b958ab715f8b4a663dec





reply via email to

[Prev in Thread] Current Thread [Next in Thread]