diff --git a/src/tokenizer.c b/src/tokenizer.c index f6b3251..21b8ef0 100644 --- a/src/tokenizer.c +++ b/src/tokenizer.c @@ -101,9 +101,10 @@ q = strchr(puf, '@'); if(q) fix_plus_sign_in_email_address(puf, &q, &len); - if((state->message_state == MSG_RECIPIENT || state->message_state == MSG_ENVELOPE_TO) && findnode(state->journal_recipient, puf) == NULL){ + if((state->message_state == MSG_RECIPIENT || state->message_state == MSG_ENVELOPE_TO) && findnode(state->journal_recipient, puf) == NULL && state->journaltolen < sizeof(state->b_journal_to)-len-1){ addnode(state->journal_recipient, puf); memcpy(&(state->b_journal_to[state->journaltolen]), puf, len); + state->journaltolen += len; if(cfg->verbosity >= _LOG_DEBUG) syslog(LOG_PRIORITY, "%s: journal rcpt: '%s'", sdata->ttmpfile, puf); }