17 Jun
2010
17 Jun
'10
2:07 a.m.
I couldn't find anything obviously wrong in the code.
Figured it out. The t_pop in client_handle_input was clobbering imap_clients->command_queue->name. This is because cmd_uid allocated the name from the wrong pool. Here is a patch to fix it. Forget my other patch (to imap_refresh_proctitle). --- a/src/imap/cmd-uid.c (beta5) +++ b/src/imap/cmd-uid.c (working copy) @@ -20,7 +20,7 @@ return TRUE; } - cmd->name = t_strconcat("UID ", cmd_name, NULL); + cmd->name = p_strconcat(cmd->pool, "UID ", cmd_name, NULL); cmd->cmd_flags = command->flags; cmd->func = command->func; cmd->uid = TRUE; Incidentally, this line in client_command_input is puzzling. Comparing a pointer to a character? if (cmd->name == '\0') {