Mercurial > dovecot > original-hg > dovecot-1.2
diff src/pop3/commands.c @ 3879:928229f8b3e6 HEAD
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 14 Jan 2006 20:47:20 +0200 |
parents | 55df57c028d4 |
children | 904c53275e83 |
line wrap: on
line diff
--- a/src/pop3/commands.c Sat Jan 14 19:23:22 2006 +0200 +++ b/src/pop3/commands.c Sat Jan 14 20:47:20 2006 +0200 @@ -213,9 +213,9 @@ } } } - mail_free(mail); + mail_free(&mail); - if (mailbox_search_deinit(ctx) < 0) + if (mailbox_search_deinit(&ctx) < 0) ret = FALSE; return ret; } @@ -231,8 +231,8 @@ } } - mailbox_transaction_commit(client->trans, MAILBOX_SYNC_FLAG_FULL_WRITE); - client->trans = NULL; + mailbox_transaction_commit(&client->trans, + MAILBOX_SYNC_FLAG_FULL_WRITE); if (!client->deleted) client_send_line(client, "+OK Logging out."); @@ -258,8 +258,8 @@ static void fetch_deinit(struct fetch_context *ctx) { - (void)mailbox_search_deinit(ctx->search_ctx); - mail_free(ctx->mail); + (void)mailbox_search_deinit(&ctx->search_ctx); + mail_free(&ctx->mail); i_free(ctx); } @@ -443,7 +443,7 @@ } /* forget all our seen flag updates as well.. */ - mailbox_transaction_rollback(client->trans); + mailbox_transaction_rollback(&client->trans); client->trans = mailbox_transaction_begin(client->mailbox, 0); if (enable_last_command) { @@ -463,8 +463,8 @@ MAIL_SEEN) < 0) break; } - mail_free(mail); - (void)mailbox_search_deinit(search_ctx); + mail_free(&mail); + (void)mailbox_search_deinit(&search_ctx); } client_send_line(client, "+OK"); @@ -579,15 +579,15 @@ if (ret == 0 && ctx->message == 0) { /* output is being buffered, continue when there's more space */ - str_free(str); + str_free(&str); return 0; } } - str_free(str); + str_free(&str); /* finished */ - mail_free(ctx->mail); - (void)mailbox_search_deinit(ctx->search_ctx); + mail_free(&ctx->mail); + (void)mailbox_search_deinit(&ctx->search_ctx); client->cmd = NULL;