[Dovecot] Error using antispam plugin

Timo Sirainen tss at iki.fi
Wed Jun 4 21:27:13 EEST 2008

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;

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20080604/9f2f952e/attachment.bin 

More information about the dovecot mailing list