Merge branch 'collectd-5.7' into collectd-5.8
[collectd.git] / src / target_notification.c
index 2041510..f83a904 100644 (file)
@@ -221,7 +221,9 @@ static int tn_invoke(const data_set_t *ds, value_list_t *vl, /* {{{ */
     char template[DATA_MAX_NAME_LEN];
     char value_str[DATA_MAX_NAME_LEN];
 
-    ssnprintf(template, sizeof(template), "%%{ds:%s}", ds->ds[i].name);
+    const char *format = "%%{ds:%.*s}";
+    snprintf(template, sizeof(template), format,
+             DATA_MAX_NAME_LEN - strlen(format), ds->ds[i].name);
 
     if (ds->ds[i].type != DS_TYPE_GAUGE) {
       if ((rates == NULL) && (rates_failed == 0)) {
@@ -233,12 +235,12 @@ static int tn_invoke(const data_set_t *ds, value_list_t *vl, /* {{{ */
 
     /* If this is a gauge value, use the current value. */
     if (ds->ds[i].type == DS_TYPE_GAUGE)
-      ssnprintf(value_str, sizeof(value_str), GAUGE_FORMAT,
-                (double)vl->values[i].gauge);
+      snprintf(value_str, sizeof(value_str), GAUGE_FORMAT,
+               (double)vl->values[i].gauge);
     /* If it's a counter, try to use the current rate. This may fail, if the
      * value has been renamed. */
     else if (rates != NULL)
-      ssnprintf(value_str, sizeof(value_str), GAUGE_FORMAT, (double)rates[i]);
+      snprintf(value_str, sizeof(value_str), GAUGE_FORMAT, (double)rates[i]);
     /* Since we don't know any better, use the string `unknown'. */
     else
       sstrncpy(value_str, "unknown", sizeof(value_str));