X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fvarnish.c;h=08260dc27fe5c28e2a7eb58c6b7350735aa9a827;hb=849f5394cce97a76da080f6cd9e5194b7f4ee0f0;hp=ebc8e7aa00fe5051729164f26ebbd4048db921d4;hpb=68123637814ea09efff5bf56f3209eefbe41287a;p=collectd.git diff --git a/src/varnish.c b/src/varnish.c index ebc8e7aa..08260dc2 100644 --- a/src/varnish.c +++ b/src/varnish.c @@ -152,30 +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; #elif HAVE_VARNISH_V4 - const char *class; - - 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 - const char *class; + if (strcmp(pt->class, "") != 0) + return 0; - class = pt->class; name = pt->name; - - if (strcmp(class, "") != 0) - return 0; #endif val = *(const volatile uint64_t *)pt->ptr;