From: Timo Sirainen Date: Sun, 5 Jun 2016 12:31:20 +0000 (+0300) Subject: mailbox-alias plugin: Fixed error handling X-Git-Tag: 2.2.25.rc1~179 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e6447acb90fe93a3dfbb35ad44e1a957126ed544;p=thirdparty%2Fdovecot%2Fcore.git mailbox-alias plugin: Fixed error handling --- diff --git a/src/plugins/mailbox-alias/mailbox-alias-plugin.c b/src/plugins/mailbox-alias/mailbox-alias-plugin.c index 6cfe6a801f..d7ee7f9deb 100644 --- a/src/plugins/mailbox-alias/mailbox-alias-plugin.c +++ b/src/plugins/mailbox-alias/mailbox-alias-plugin.c @@ -225,7 +225,9 @@ static int mailbox_alias_delete(struct mailbox *box) return -1; } - if (mailbox_is_alias_symlink(box)) { + if ((ret = mailbox_is_alias_symlink(box)) < 0) + return -1; + if (ret > 0) { /* we're deleting an alias mailbox. we'll need to handle this explicitly since box->name points to the original mailbox */ symlink_name = alist->module_ctx.super. @@ -245,12 +247,16 @@ static int mailbox_alias_rename(struct mailbox *src, struct mailbox *dest) struct mailbox_alias_mailbox *abox = MAILBOX_ALIAS_CONTEXT(src); int ret; - if (mailbox_is_alias_symlink(src)) { + if ((ret = mailbox_is_alias_symlink(src)) < 0) + return -1; + else if (ret > 0) { mail_storage_set_error(src->storage, MAIL_ERROR_NOTPOSSIBLE, "Can't rename alias mailboxes"); return -1; } - if (mailbox_is_alias_symlink(dest)) { + if ((ret = mailbox_is_alias_symlink(dest)) < 0) + return -1; + else { mail_storage_set_error(src->storage, MAIL_ERROR_NOTPOSSIBLE, "Can't rename to mailbox alias"); return -1;