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;
signature.asc
Description: This is a digitally signed message part