[dovecot/core] 8f3829: lib-smtp: server: Fix double decrement of RCPT pen...

GitHub noreply at github.com
Mon Mar 5 11:30:32 EET 2018


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: 8f3829ce994872c2bc883f59208441fe35fa750b
      https://github.com/dovecot/core/commit/8f3829ce994872c2bc883f59208441fe35fa750b
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-04 (Sun, 04 Mar 2018)

  Changed paths:
    M src/lib-smtp/smtp-server-cmd-rcpt.c

  Log Message:
  -----------
  lib-smtp: server: Fix double decrement of RCPT pending counter upon error.

The pending counter was sometimes decremented twice in specific error
conditions, leading to an assert panic in the DATA command. This was caused by
some dead code. If the MAIL command failed in a pipeline before the RCPT command,
the assert was triggered.

Panic was:

Panic: file smtp-server-cmd-data.c: line 354 (cmd_data_start): assertion failed: (conn->state.pending_mail_cmds == 0 && conn->state.pending_rcpt_cmds == 0)


  Commit: e678a94e6dbf996c9e46f89248e51149b3eebd2b
      https://github.com/dovecot/core/commit/e678a94e6dbf996c9e46f89248e51149b3eebd2b
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-04 (Sun, 04 Mar 2018)

  Changed paths:
    M src/lib-smtp/smtp-server-cmd-mail.c

  Log Message:
  -----------
  lib-smtp: server: MAIL command: Make sure conn->state.pending_mail_cmds cannot decrement through zero.

Added assertion.


  Commit: 2f5379a86346409573c1f8ea4baef2ef72580bc7
      https://github.com/dovecot/core/commit/2f5379a86346409573c1f8ea4baef2ef72580bc7
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2018-03-04 (Sun, 04 Mar 2018)

  Changed paths:
    M src/lib-smtp/smtp-server-cmd-rcpt.c

  Log Message:
  -----------
  lib-smtp: server: RCPT command: Make sure conn->state.pending_rcpt_cmds cannot decrement through zero.

Added assertion.


Compare: https://github.com/dovecot/core/compare/293f69e28bd1...2f5379a86346


More information about the dovecot-cvs mailing list