X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fvarnish.c;h=08260dc27fe5c28e2a7eb58c6b7350735aa9a827;hb=9c6c1bdb92537f307d245c52349d3f196ec4d33d;hp=69daa980c1ab1995925c1cce949c09d04794b0fe;hpb=7978b43670472a000831f7ff37a6a30771a6ee6f;p=collectd.git diff --git a/src/varnish.c b/src/varnish.c index 69daa980..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;