X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fprocesses.c;h=6ad4681370aa7861e11cb7b956576010befd0faa;hb=e7929dac268957cbbd9082717759c3917ac1b51e;hp=29492ac2ff6347bb0427249056907ca947fa01d1;hpb=6d3dc246eb6ce32214825f909541cf7cbd441948;p=collectd.git diff --git a/src/processes.c b/src/processes.c index 29492ac2..6ad46813 100644 --- a/src/processes.c +++ b/src/processes.c @@ -409,9 +409,9 @@ static void ps_submit_state (const char *state, double value) vl.values = values; vl.values_len = 1; vl.time = time (NULL); - strcpy (vl.host, hostname_g); - strcpy (vl.plugin, "processes"); - strcpy (vl.plugin_instance, ""); + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + sstrncpy (vl.plugin, "processes", sizeof (vl.plugin)); + sstrncpy (vl.plugin_instance, "", sizeof (vl.plugin_instance)); strncpy (vl.type_instance, state, sizeof (vl.type_instance)); plugin_dispatch_values ("ps_state", &vl); @@ -425,8 +425,8 @@ static void ps_submit_proc_list (procstat_t *ps) vl.values = values; vl.values_len = 2; vl.time = time (NULL); - strcpy (vl.host, hostname_g); - strcpy (vl.plugin, "processes"); + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + sstrncpy (vl.plugin, "processes", sizeof (vl.plugin)); strncpy (vl.plugin_instance, ps->name, sizeof (vl.plugin_instance)); vl.values[0].gauge = ps->vmem_rss; @@ -510,11 +510,14 @@ static int *ps_read_tasks (int pid) closedir (dh); + if (list_len == 0) + return (NULL); + assert (list_len < list_size); assert (list[list_len] == 0); return (list); -} +} /* int *ps_read_tasks */ int ps_read_process (int pid, procstat_t *ps, char *state) { @@ -600,8 +603,8 @@ int ps_read_process (int pid, procstat_t *ps, char *state) /* Leave the rest at zero if this is only a zombi */ if (ps->num_proc == 0) { - DEBUG ("This is only a zombi: pid = %i; name = %s;", - pid, ps->name); + DEBUG ("processes plugin: This is only a zombi: pid = %i; " + "name = %s;", pid, ps->name); return (0); }