]> git.ipfire.org Git - thirdparty/collectd.git/commit
write_riemann plugin: Terminate `riemann_event_set` arguments with `RIEMANN_EVENT_FIE...
authorFlorian Forster <octo@collectd.org>
Thu, 11 Jan 2024 19:35:30 +0000 (20:35 +0100)
committerFlorian Forster <octo@collectd.org>
Mon, 15 Jan 2024 13:58:23 +0000 (14:58 +0100)
commitf6036685694b23032f53be8a37d26c7b33e670b3
tree876087dd9ddfc13d92eca369440914b002409a6d
parent6c75ddb63a8a7bd51ca9e423bc1b9b1cb6f03d91
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