diff options
author | David Goulet <dgoulet@torproject.org> | 2022-02-02 13:51:22 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2022-02-03 08:30:23 -0500 |
commit | 3c73622f27c67eb636f19a938c5f401da8db901f (patch) | |
tree | 5f335c5292a60170769229c905615c3e2fd843b6 /src/feature/hs | |
parent | 1b58399b07a17c2745624f35780fd3ddbe7a0251 (diff) | |
download | tor-3c73622f27c67eb636f19a938c5f401da8db901f.tar.gz tor-3c73622f27c67eb636f19a938c5f401da8db901f.zip |
hs: Double quote the metrics label value
Fixes #40552
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/feature/hs')
-rw-r--r-- | src/feature/hs/hs_metrics.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/feature/hs/hs_metrics.c b/src/feature/hs/hs_metrics.c index e6d3084f26..452bb44419 100644 --- a/src/feature/hs/hs_metrics.c +++ b/src/feature/hs/hs_metrics.c @@ -32,12 +32,16 @@ port_to_str(const uint16_t port) /** Return a static buffer pointer that contains a formatted label on the form * of key=value. * + * NOTE: Important, label values MUST NOT contain double quotes else, in the + * case of Prometheus, it will fail with a malformed line because we force the + * label value to be enclosed in double quotes. + * * Subsequent call to this function invalidates the previous buffer. */ static const char * format_label(const char *key, const char *value) { static char buf[128]; - tor_snprintf(buf, sizeof(buf), "%s=%s", key, value); + tor_snprintf(buf, sizeof(buf), "%s=\"%s\"", key, value); return buf; } |