Mercurial > dovecot > core-2.2
changeset 9502:a268f8fd89b7 HEAD
imap-acl: Command parameter reading wasn't done correctly.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 22 Jun 2009 00:10:00 -0400 |
parents | e22e36a61fdd |
children | fd7d2cb8fda6 |
files | src/plugins/imap-acl/imap-acl-plugin.c |
diffstat | 1 files changed, 13 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/imap-acl/imap-acl-plugin.c Sun Jun 21 23:31:46 2009 -0400 +++ b/src/plugins/imap-acl/imap-acl-plugin.c Mon Jun 22 00:10:00 2009 -0400 @@ -248,10 +248,8 @@ string_t *str; int ret; - if (!client_read_string_args(cmd, 1, &mailbox)) { - client_send_command_error(cmd, "Invalid arguments."); - return TRUE; - } + if (!client_read_string_args(cmd, 1, &mailbox)) + return FALSE; box = acl_mailbox_open_as_admin(cmd, mailbox); if (box == NULL) @@ -284,10 +282,8 @@ const char *const *rights; string_t *str; - if (!client_read_string_args(cmd, 1, &mailbox)) { - client_send_command_error(cmd, "Invalid arguments."); - return TRUE; - } + if (!client_read_string_args(cmd, 1, &mailbox)) + return FALSE; if (ACL_USER_CONTEXT(cmd->client->user) == NULL) { client_send_command_error(cmd, "ACLs disabled."); @@ -336,10 +332,8 @@ const char *mailbox, *identifier; string_t *str; - if (!client_read_string_args(cmd, 2, &mailbox, &identifier)) { - client_send_command_error(cmd, "Invalid arguments."); - return TRUE; - } + if (!client_read_string_args(cmd, 2, &mailbox, &identifier)) + return FALSE; box = acl_mailbox_open_as_admin(cmd, mailbox); if (box == NULL) @@ -502,8 +496,10 @@ const char *mailbox, *identifier, *rights, *error; bool negative = FALSE; - if (!client_read_string_args(cmd, 3, &mailbox, &identifier, &rights) || - *identifier == '\0') { + if (!client_read_string_args(cmd, 3, &mailbox, &identifier, &rights)) + return FALSE; + + if (*identifier == '\0') { client_send_command_error(cmd, "Invalid arguments."); return TRUE; } @@ -593,8 +589,9 @@ struct acl_rights_update update; const char *mailbox, *identifier, *error; - if (!client_read_string_args(cmd, 2, &mailbox, &identifier) || - *identifier == '\0') { + if (!client_read_string_args(cmd, 2, &mailbox, &identifier)) + return FALSE; + if (*identifier == '\0') { client_send_command_error(cmd, "Invalid arguments."); return TRUE; }