# HG changeset patch # User Timo Sirainen # Date 1245643800 14400 # Node ID c7402e49132a55edc77835f384967c012d0e2997 # Parent 283f52768314f9c5e3fd0e6d6fe67e9029611dde imap-acl: Command parameter reading wasn't done correctly. diff -r 283f52768314 -r c7402e49132a src/plugins/imap-acl/imap-acl-plugin.c --- 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; }