From: Matthias Runge Date: Tue, 7 Jan 2020 13:53:17 +0000 (+0100) Subject: Merge pull request #3359 from Stackdriver/igorpeshansky-upstream-read_text_file_contents X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=5ebc182261321f0781f38d8645bfc7c74353434c;hp=f7ba1418d1e2f18a53c19d28bb1be71f8f2b5c64;p=collectd.git Merge pull request #3359 from Stackdriver/igorpeshansky-upstream-read_text_file_contents Factor out read_text_file_contents to ensure that data read from text files is a valid C string. --- diff --git a/src/aggregation.c b/src/aggregation.c index 2c8ef880..e2f8ff1c 100644 --- a/src/aggregation.c +++ b/src/aggregation.c @@ -194,17 +194,21 @@ static int agg_instance_create_name(agg_instance_t *inst, /* {{{ */ sstrncpy(tmp_plugin_instance, agg->ident.plugin_instance, sizeof(tmp_plugin_instance)); + // Both tmp_plugin and tmp_plugin_instance are empty. if ((strcmp("", tmp_plugin) == 0) && (strcmp("", tmp_plugin_instance) == 0)) sstrncpy(inst->ident.plugin_instance, AGG_FUNC_PLACEHOLDER, sizeof(inst->ident.plugin_instance)); - else if (strcmp("", tmp_plugin) != 0) + // tmp_plugin is non-empty, and tmp_plugin_instance is empty. + else if (strcmp("", tmp_plugin_instance) == 0) ssnprintf(inst->ident.plugin_instance, sizeof(inst->ident.plugin_instance), "%s-%s", tmp_plugin, AGG_FUNC_PLACEHOLDER); - else if (strcmp("", tmp_plugin_instance) != 0) + // tmp_plugin is empty, and tmp_plugin_instance is non-empty. + else if (strcmp("", tmp_plugin) == 0) ssnprintf(inst->ident.plugin_instance, sizeof(inst->ident.plugin_instance), "%s-%s", tmp_plugin_instance, AGG_FUNC_PLACEHOLDER); + // Both tmp_plugin and tmp_plugin_instance are non-empty. else ssnprintf(inst->ident.plugin_instance, sizeof(inst->ident.plugin_instance), "%s-%s-%s", tmp_plugin,