(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/plugins/virtual/virtual-save.c) |
| |
| 63 | | | int virtual_save_begin(struct mail_save_context *_ctx, struct istream *input) |
| 64 | | | { |
| 65 | | | struct virtual_save_context *ctx = (struct virtual_save_context *)_ctx; |
| 66 | | | struct virtual_mailbox *mbox = |
| 67 | | | (struct virtual_mailbox *)_ctx->transaction->box; |
| 68 | | | struct mail *mail; |
| 69 | | | |
| 70 | | | if (ctx->backend_save_ctx == NULL) { |
Event 1:
Skipping " if". ctx->backend_save_ctx == (void *)0 evaluates to false.
hide
|
|
| 71 | | | mail_storage_set_error(_ctx->transaction->box->storage, |
| 72 | | | MAIL_ERROR_NOTPOSSIBLE, |
| 73 | | | "Can't save messages to this virtual mailbox"); |
| 74 | | | return -1; |
| 75 | | | } |
| 76 | | | |
| 77 | | | ctx->backend_box = ctx->backend_save_ctx->transaction->box; |
| 78 | | | ctx->backend_keywords = |
| 79 | | | virtual_copy_keywords(_ctx->transaction->box, _ctx->keywords, |
| 80 | | | ctx->backend_box); |
| 81 | | | |
| 82 | | | mailbox_save_set_flags(ctx->backend_save_ctx, _ctx->flags, |
| 83 | | | ctx->backend_keywords); |
| 84 | | | mailbox_save_set_received_date(ctx->backend_save_ctx, |
| 85 | | | _ctx->received_date, |
| 86 | | | _ctx->received_tz_offset); |
| 87 | | | mailbox_save_set_from_envelope(ctx->backend_save_ctx, |
| 88 | | | _ctx->from_envelope); |
| 89 | | | mailbox_save_set_guid(ctx->backend_save_ctx, _ctx->guid); |
| 90 | | | |
| 91 | | | if (_ctx->dest_mail != NULL) { |
Event 2:
Skipping " if". _ctx->dest_mail != (void *)0 evaluates to false.
hide
|
|
| 92 | | | mail = virtual_mail_set_backend_mail(_ctx->dest_mail, |
| 93 | | | mbox->save_bbox); |
| 94 | | | mailbox_save_set_dest_mail(ctx->backend_save_ctx, mail); |
| 95 | | | } |
| 96 | [+] | | return mailbox_save_begin(&ctx->backend_save_ctx, input); |
Event 3:
The resource of interest is allocated inside mailbox_save_begin().
hide
|
|
 |
| |