]> git.ipfire.org Git - thirdparty/collectd.git/commit
write_riemann plugin: Terminate `riemann_event_set` arguments with `RIEMANN_EVENT_FIE... 4232/head
authorFlorian Forster <octo@collectd.org>
Thu, 11 Jan 2024 19:35:30 +0000 (20:35 +0100)
committerFlorian Forster <octo@collectd.org>
Thu, 11 Jan 2024 19:42:35 +0000 (20:42 +0100)
commitc2b50f860b1f107ca923767fdc3c7d10730ae118
treec865ea428d55a9f38f5c5a88a298809b3b059fef
parenta31b89e1d205e00508fa9f8cacee248a77fcaa21
write_riemann plugin: Terminate `riemann_event_set` arguments with `RIEMANN_EVENT_FIELD_NONE`.

`riemann_event_set` is a variadic function, that means it accepts a variable
number of arguments. That means it needs some way to determine – at runtime
– how many arguments there are. It appears to be doing so by using
`RIEMANN_EVENT_FIELD_NONE` to indicate the last element in the argument
list. Unfortunately I was unable to find the library's documentation and
code and could not verify this.

That means that the argument list passed to `riemann_event_set` was not
always terminated, causing it to read past where it was supposed to and
adding random crap into the message it crafted.

Issue: #4050
src/write_riemann.c