Skip to content

Commit

Permalink
doveadm mailbox cryptokey generate: Fix error handling
Browse files Browse the repository at this point in the history
Don't crash if mail_user creation failed.
  • Loading branch information
sirainen committed Feb 17, 2017
1 parent 247f01b commit 3a42316
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/plugins/mail-crypt/doveadm-mail-crypt.c
Expand Up @@ -109,12 +109,14 @@ mcp_update_shared_key(struct mailbox_transaction_context *t,
&dest_service_user, &error);

/* to make sure we get correct logging context */
mail_storage_service_io_deactivate_user(dest_service_user);
if (ret > 0)
mail_storage_service_io_deactivate_user(dest_service_user);
mail_storage_service_io_activate_user(user->_service_user);

if (ret <= 0) {
i_error("Cannot initialize destination user %s: %s",
target_uid, error);
return ret;
} else {
i_assert(dest_user != NULL);
dest_username = dest_user->username;
Expand Down Expand Up @@ -150,8 +152,7 @@ mcp_update_shared_key(struct mailbox_transaction_context *t,
mail_storage_service_io_activate_user(dest_service_user);

mail_user_unref(&dest_user);
if (dest_service_user != NULL)
mail_storage_service_user_free(&dest_service_user);
mail_storage_service_user_free(&dest_service_user);

if ((cur_ioloop_ctx = io_loop_get_current_context(current_ioloop)) != NULL)
io_loop_context_deactivate(cur_ioloop_ctx);
Expand Down

0 comments on commit 3a42316

Please sign in to comment.