X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fvarnish.c;h=08260dc27fe5c28e2a7eb58c6b7350735aa9a827;hb=753955ef2710a741881d25e9247217a56e6d726d;hp=67c5bfd126d0f7fdc9d657ccb23c727d7819fe6a;hpb=3ab73ae8b23b9816fb69fde630c5ad667aa1e09f;p=collectd.git diff --git a/src/varnish.c b/src/varnish.c index 67c5bfd1..08260dc2 100644 --- a/src/varnish.c +++ b/src/varnish.c @@ -144,7 +144,6 @@ static int varnish_monitor(void *priv, { uint64_t val; const user_config_t *conf; - const char *class; const char *name; if (pt == NULL) @@ -153,28 +152,25 @@ static int varnish_monitor(void *priv, conf = priv; #if HAVE_VARNISH_V5 - char namebuff[100]; - char *c; + char namebuff[DATA_MAX_NAME_LEN]; - c = rindex(pt->name, '.'); - strcpy(namebuff, c + 1); + char const *c = strrchr(pt->name, '.'); + if (c == NULL) { + return EINVAL; + } + sstrncpy(namebuff, c + 1, sizeof(namebuff)); name = namebuff; - (void)class; - #elif HAVE_VARNISH_V4 - class = pt->section->fantom->type; - name = pt->desc->name; - - if (strcmp(class, "MAIN") != 0) + if (strcmp(pt->section->fantom->type, "MAIN") != 0) return 0; + name = pt->desc->name; #elif HAVE_VARNISH_V3 - class = pt->class; - name = pt->name; - - if (strcmp(class, "") != 0) + if (strcmp(pt->class, "") != 0) return 0; + + name = pt->name; #endif val = *(const volatile uint64_t *)pt->ptr; @@ -1390,7 +1386,7 @@ static int varnish_read(user_data_t *ud) /* {{{ */ #endif #if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 if (!ok) { - VSM_Destroy(&vd); + VSM_Delete(vd); ERROR("varnish plugin: Unable to open connection."); return -1; } @@ -1403,7 +1399,7 @@ static int varnish_read(user_data_t *ud) /* {{{ */ #endif #if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 if (!stats) { - VSM_Destroy(&vd); + VSM_Delete(vd); ERROR("varnish plugin: Unable to get statistics."); return -1; }