Hello again,

I've added the -d and -f flags to the command line and this time I got a
trace.

(gdb) r
Starting program: /usr/libexec/dovecot/dovecot-lda -p
example-message.eml -f u...@domain.com -d u...@domain.com
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols foun.
Program received signal SIGSEGV, Segmentation fault.
0x0000000800e70140 in seff_flags_merge () from
/usr/lib/dovecot/libdovecot-sieve.so.0
(gdb) bt full
#0  0x0000000800e70140 in seff_flags_merge () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.

Does the attached patch fix it perhaps?

Regards,

Stepha.
diff -r 5cb795d0d1de src/lib-sieve/plugins/imap4flags/tag-flags.c
--- a/src/lib-sieve/plugins/imap4flags/tag-flags.c      Tue Sep 28 22:50:04 
2010 +0200
+++ b/src/lib-sieve/plugins/imap4flags/tag-flags.c      Wed Sep 29 19:09:06 
2010 +0200
@@ -340,7 +340,8 @@
        const struct sieve_side_effect *new_seffect,    
        void **old_context)
 {
-       *old_context = new_seffect->context;
+       if ( new_seffect != NULL )
+               *old_context = new_seffect->context;
        
        return 1;
 }

Reply via email to