BUG/MINOR: log: fixing bug in tcp syslog_io_handler Octet-Counting
syslog_io_handler does specific treatment to handle syslog tcp octet
counting:
Logic was good, but a sneaky mistake prevented
rfc-6587 octet counting from working properly.
trash.area was used as an input buffer.
It does not make sense here since it is uninitialized.
Compilation was unaffected because trash is a thread
local "global" variable.
buf->area should definitely be used instead.
This should be backported as far as 2.4.
diff --git a/src/log.c b/src/log.c
index b3865e9..5be654c 100644
--- a/src/log.c
+++ b/src/log.c
@@ -3626,7 +3626,7 @@
if (buf->area[to_skip - 1] != ' ')
goto parse_error;
- msglen = strtol(trash.area, &p, 10);
+ msglen = strtol(buf->area, &p, 10);
if (!msglen || p != &buf->area[to_skip - 1])
goto parse_error;