[dovecot/core] d1808f: sdbox: Failing after saved mails' UIDs were alread...

GitHub noreply at github.com
Mon Feb 1 20:54:06 UTC 2016


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: d1808f883d0da0e9740616695618924e8278fce1
      https://github.com/dovecot/core/commit/d1808f883d0da0e9740616695618924e8278fce1
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-02-01 (Mon, 01 Feb 2016)

  Changed paths:
    M src/lib-storage/index/dbox-single/sdbox-file.c

  Log Message:
  -----------
  sdbox: Failing after saved mails' UIDs were already assigned caused unlink()ing garbage

Mainly with dsync when it fails, the transaction is still committed and
mails are given UIDs. If the transaction commit still fails, it attempts to
rollback the saved mails by unlink()ing them, but at that point the path
pointed to an already freed memory. This caused unlink() errors with some
garbage strings as the path (and hopefully no actually valid paths).

The easiest way to reproduce this was to fill up the filesystem with dsync.




More information about the dovecot-cvs mailing list