Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9150:c7402e49132a 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 | 283f52768314 |
children | 31fe9a8740c3 |
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:44:18 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) @@ -285,10 +283,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; real_mailbox = mailbox; storage = client_find_storage(cmd, &real_mailbox); @@ -337,10 +333,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) @@ -493,8 +487,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; } @@ -585,8 +581,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; }