X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Futils_rrdcreate.c;h=edb6c9570c79a793b09eee931fc659b6342fc84a;hb=9521a596cb88b044a2f08db53520edd6e15c8d39;hp=44c2386f16ad74775a9bcabaaa09d497658343b3;hpb=1ebf2f31bd2e080e6f42de640f0a3899a61501c0;p=collectd.git diff --git a/src/utils_rrdcreate.c b/src/utils_rrdcreate.c index 44c2386f..edb6c957 100644 --- a/src/utils_rrdcreate.c +++ b/src/utils_rrdcreate.c @@ -25,6 +25,7 @@ **/ #include "collectd.h" + #include "common.h" #include "utils_rrdcreate.h" @@ -70,7 +71,7 @@ static const char *const rra_types[] = }; static int rra_types_num = STATIC_ARRAY_SIZE (rra_types); -#if !defined(HAVE_THREADSAFE_LIBRRD) || !HAVE_THREADSAFE_LIBRRD +#if !defined(HAVE_THREADSAFE_LIBRRD) static pthread_mutex_t librrd_lock = PTHREAD_MUTEX_INITIALIZER; #endif @@ -113,13 +114,12 @@ static srrd_create_args_t *srrd_create_args_create (const char *filename, { srrd_create_args_t *args; - args = malloc (sizeof (*args)); + args = calloc (1, sizeof (*args)); if (args == NULL) { - ERROR ("srrd_create_args_create: malloc failed."); + ERROR ("srrd_create_args_create: calloc failed."); return (NULL); } - memset (args, 0, sizeof (*args)); args->filename = NULL; args->pdp_step = pdp_step; args->last_up = last_up; @@ -216,9 +216,8 @@ static int rra_get (char ***ret, const value_list_t *vl, /* {{{ */ rra_max = rts_num * rra_types_num; assert (rra_max > 0); - if ((rra_def = malloc ((rra_max + 1) * sizeof (*rra_def))) == NULL) + if ((rra_def = calloc (rra_max + 1, sizeof (*rra_def))) == NULL) return (-1); - memset (rra_def, 0, (rra_max + 1) * sizeof (*rra_def)); rra_num = 0; cdp_len = 0; @@ -292,15 +291,14 @@ static int ds_get (char ***ret, /* {{{ */ assert (ds->ds_num > 0); - ds_def = malloc (ds->ds_num * sizeof (*ds_def)); + ds_def = calloc (ds->ds_num, sizeof (*ds_def)); if (ds_def == NULL) { char errbuf[1024]; - ERROR ("rrdtool plugin: malloc failed: %s", + ERROR ("rrdtool plugin: calloc failed: %s", sstrerror (errno, errbuf, sizeof (errbuf))); return (-1); } - memset (ds_def, 0, ds->ds_num * sizeof (*ds_def)); for (ds_num = 0; ds_num < ds->ds_num; ds_num++) { @@ -358,7 +356,7 @@ static int ds_get (char ***ret, /* {{{ */ return (-1); } - if (ds_num <= 0) + if (ds_num == 0) { sfree (ds_def); return (0);