X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fprocesses.c;h=aa47f3328f86355ba020ab2730ce237503f9aa4e;hb=7cea19815ba24735e91dde1c08a889960b299b62;hp=c8e7b826354648b617911cb290fa1b171bcac02f;hpb=fd7673e5e9ad074624fc23cda5d2ec4549d43659;p=collectd.git diff --git a/src/processes.c b/src/processes.c index c8e7b826..aa47f332 100644 --- a/src/processes.c +++ b/src/processes.c @@ -25,7 +25,7 @@ * * Authors: * Lyonel Vincent - * Florian octo Forster + * Florian octo Forster * Oleg King * Sebastian Harl * Andrés J. Díaz @@ -128,8 +128,12 @@ # include #endif -#ifndef ARG_MAX -# define ARG_MAX 4096 +#ifndef CMDLINE_BUFFER_SIZE +# if defined(ARG_MAX) && (ARG_MAX < 4096) +# define CMDLINE_BUFFER_SIZE ARG_MAX +# else +# define CMDLINE_BUFFER_SIZE 4096 +# endif #endif typedef struct procstat_entry_s @@ -1686,7 +1690,7 @@ static int ps_read (void) DIR *proc; int pid; - char cmdline[ARG_MAX]; + char cmdline[CMDLINE_BUFFER_SIZE]; int status; procstat_t ps; @@ -1824,7 +1828,7 @@ static int ps_read (void) * filter out threads (duplicate PID entries). */ if ((proc_ptr == NULL) || (proc_ptr->ki_pid != procs[i].ki_pid)) { - char cmdline[ARG_MAX] = ""; + char cmdline[CMDLINE_BUFFER_SIZE] = ""; _Bool have_cmdline = 0; proc_ptr = &(procs[i]);