X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fmemcached.c;h=78f3e085097bf6d26768b7f8d3a170262b8e6a16;hb=a5377cf935630082f2eac2e5f4a538844cc06c8d;hp=d650f02f1d3fd866030ca2914fccaefd82a9175b;hpb=2bda2a5648c87a2c5b8304238cd80ff17984c5cd;p=collectd.git diff --git a/src/memcached.c b/src/memcached.c index d650f02f..78f3e085 100644 --- a/src/memcached.c +++ b/src/memcached.c @@ -29,12 +29,12 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" #include "configfile.h" #include -#include #include #include #include @@ -53,8 +53,9 @@ typedef struct memcached_s memcached_t; static _Bool memcached_have_instances = 0; -static void memcached_free (memcached_t *st) +static void memcached_free (void *arg) { + memcached_t *st = arg; if (st == NULL) return; @@ -67,10 +68,9 @@ static void memcached_free (memcached_t *st) static int memcached_connect_unix (memcached_t *st) { - struct sockaddr_un serv_addr; + struct sockaddr_un serv_addr = { 0 }; int fd; - memset (&serv_addr, 0, sizeof (serv_addr)); serv_addr.sun_family = AF_UNIX; sstrncpy (serv_addr.sun_path, st->socket, sizeof (serv_addr.sun_path)); @@ -99,16 +99,14 @@ static int memcached_connect_unix (memcached_t *st) static int memcached_connect_inet (memcached_t *st) { - char *host; - char *port; + const char *host; + const char *port; - struct addrinfo ai_hints; + struct addrinfo ai_hints = { 0 }; struct addrinfo *ai_list, *ai_ptr; int status; int fd = -1; - memset (&ai_hints, 0, sizeof (ai_hints)); - ai_hints.ai_flags = 0; #ifdef AI_ADDRCONFIG ai_hints.ai_flags |= AI_ADDRCONFIG; #endif @@ -174,8 +172,7 @@ static int memcached_connect (memcached_t *st) static int memcached_query_daemon (char *buffer, size_t buffer_size, memcached_t *st) { - int fd = -1; - int status; + int fd, status; size_t buffer_fill; fd = memcached_connect (st); @@ -552,13 +549,12 @@ static int memcached_read (user_data_t *user_data) static int memcached_add_read_callback (memcached_t *st) { - user_data_t ud; + user_data_t ud = { 0 }; char callback_name[3*DATA_MAX_NAME_LEN]; int status; - memset (&ud, 0, sizeof (ud)); ud.data = st; - ud.free_func = (void *) memcached_free; + ud.free_func = memcached_free; assert (st->name != NULL); ssnprintf (callback_name, sizeof (callback_name), "memcached/%s", st->name); @@ -566,7 +562,7 @@ static int memcached_add_read_callback (memcached_t *st) status = plugin_register_complex_read (/* group = */ "memcached", /* name = */ callback_name, /* callback = */ memcached_read, - /* interval = */ NULL, + /* interval = */ 0, /* user_data = */ &ud); return (status); } /* int memcached_add_read_callback */ @@ -588,14 +584,13 @@ static int config_add_instance(oconfig_item_t *ci) /* Disable automatic generation of default instance in the init callback. */ memcached_have_instances = 1; - st = malloc (sizeof (*st)); + st = calloc (1, sizeof (*st)); if (st == NULL) { - ERROR ("memcached plugin: malloc failed."); + ERROR ("memcached plugin: calloc failed."); return (-1); } - memset (st, 0, sizeof (*st)); st->name = NULL; st->socket = NULL; st->host = NULL; @@ -686,10 +681,9 @@ static int memcached_init (void) return (0); /* No instances were configured, lets start a default instance. */ - st = malloc (sizeof (*st)); + st = calloc (1, sizeof (*st)); if (st == NULL) return (ENOMEM); - memset (st, 0, sizeof (*st)); st->name = sstrdup ("__legacy__"); st->socket = NULL; st->host = NULL;