On Wed, 2008-06-04 at 20:20 +0200, Juan Asensio Sánchez wrote:
> Program received signal SIGSEGV, Segmentation fault.
> mail_get_physical_size (mail=0x8129ba8, size_r=0x0) at mail.c:100
> 100           return p->v.get_physical_size(mail, size_r);
> (gdb) bt full
> #0  mail_get_physical_size (mail=0x8129ba8, size_r=0x0) at mail.c:100
> No locals.
> #1  0xb7db25c5 in quota_check (t=0x8129ba8, mail=0x0) at quota-storage.c:148
>       qt = (struct quota_transaction_context *) 0x0
>       ret = <value optimized out>
>       too_large = 8

The values are still a bit broken. Compiling without -O2 would probably
show what they really are.

But looking at the antispam code I think there's one bug:

static int antispam_save_finish(struct mail_save_context *ctx)
        struct mail *dest_mail = ast->mail;

I think ast->mail can be NULL. It should maybe be instead:

dest_mail = ctx->dest_mail != NULL ? ctx->dest_mail : ast->mail;

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to