- use _POSIX2_LINE_MAX for errbuf as stated by kvm(3).
[collectd.git] / src / processes.c
index dcdaaf2..d6b4845 100644 (file)
@@ -1230,10 +1230,8 @@ static int ps_read_process(int pid, procstat_t *ps, char *state)
 {
        char filename[64];
        char f_psinfo[64], f_usage[64];
-       int i;
        char *buffer;
 
-
        pstatus_t *myStatus;
        psinfo_t *myInfo;
        prusage_t *myUsage;
@@ -1789,7 +1787,7 @@ static int ps_read (void)
        int wait     = 0;
 
        kvm_t *kd;
-       char errbuf[1024];
+       char errbuf[_POSIX2_LINE_MAX];
        struct kinfo_proc *procs;          /* array of processes */
        struct kinfo_proc *proc_ptr = NULL;
        int count;                         /* returns number of processes */
@@ -1801,7 +1799,7 @@ static int ps_read (void)
        ps_list_reset ();
 
        /* Open the kvm interface, get a descriptor */
-       kd = kvm_open (NULL, NULL, NULL, 0, errbuf);
+       kd = kvm_openfiles (NULL, "/dev/null", NULL, 0, errbuf);
        if (kd == NULL)
        {
                ERROR ("processes plugin: Cannot open kvm interface: %s",
@@ -2080,7 +2078,7 @@ static int ps_read (void)
        procstat_t *ps_ptr;
        char state;
 
-       char cmdline[ARG_MAX];
+       char cmdline[PRARGSZ];
 
        ps_list_reset ();