diff -up rsyslog-4.6.3/tools/syslogd.c.orig rsyslog-4.6.3/tools/syslogd.c
--- rsyslog-4.6.3/tools/syslogd.c.orig 2011-09-06 17:06:01.945949996 +0200
+++ rsyslog-4.6.3/tools/syslogd.c 2011-09-06 17:06:03.681949996 +0200
@@ -1291,7 +1291,7 @@ int parseLegacySyslogMsg(msg_t *pMsg, in
* outputs so that only 32 characters max are used by default.
*/
i = 0;
- while(lenMsg > 0 && *p2parse != ':' && *p2parse != ' ' && i < CONF_TAG_MAXSIZE) {
+ while(lenMsg > 0 && *p2parse != ':' && *p2parse != ' ' && i < CONF_TAG_MAXSIZE - 2) {
bufParseTAG[i++] = *p2parse++;
--lenMsg;
}