diff options
Diffstat (limited to 'imap-send.c')
-rw-r--r-- | imap-send.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/imap-send.c b/imap-send.c index 9025d9aa3e..db6559725e 100644 --- a/imap-send.c +++ b/imap-send.c @@ -472,7 +472,7 @@ v_issue_imap_cmd( imap_store_t *ctx, struct imap_cmd_cb *cb, if (socket_write( &imap->buf.sock, buf, bufl ) != bufl) { free( cmd->cmd ); free( cmd ); - if (cb && cb->data) + if (cb) free( cb->data ); return NULL; } @@ -858,8 +858,7 @@ get_cmd_result( imap_store_t *ctx, struct imap_cmd *tcmd ) normal: if (cmdp->cb.done) cmdp->cb.done( ctx, cmdp, resp ); - if (cmdp->cb.data) - free( cmdp->cb.data ); + free( cmdp->cb.data ); free( cmdp->cmd ); free( cmdp ); if (!tcmd || tcmd == cmdp) @@ -1303,6 +1302,13 @@ main(int argc, char **argv) fprintf( stderr, "no imap store specified\n" ); return 1; } + if (!server.host) { + if (!server.tunnel) { + fprintf( stderr, "no imap host specified\n" ); + return 1; + } + server.host = "tunnel"; + } /* read the messages */ if (!read_message( stdin, &all_msgs )) { |