Strange LMTP crash

Michael Bacon baconm at email.unc.edu
Tue Jul 14 14:33:17 EDT 2009


--On July 14, 2009 1:51:17 PM -0400 Ben Carter <bhc at pitt.edu> wrote:

> Michael Bacon wrote:
>> Hi, all,
>>
>> I'm working through a bizarre segfault from lmtpd that occurs following
>> a  rcpt to: command.  The best I can describe what's going on is that
>> somehow  the NULL value stored in the authstate pointer is getting
>> changed to  0x1010101 when passed to the verify_user function.  Here's a
>> relevant GDB  snippet:
>
>  <snippet snipped>
>
> I already found this.  The quota that is passed to verify_user() by
> process_recipient() has to be a quota_t, not an int.  A patch was already
> submitted.
>
> Ben
>
> --
> Ben Carter
> University of Pittsburgh/CSSD
> bhc at pitt.edu
> 412-624-6470


Thank you!  Just for the record, was this essentially your patch?


Index: lmtpengine.c
===================================================================
RCS file: /cvs/src/cyrus/imap/lmtpengine.c,v
retrieving revision 1.129
diff -u -r1.129 lmtpengine.c
--- lmtpengine.c        8 Oct 2008 15:47:08 -0000       1.129
+++ lmtpengine.c        14 Jul 2009 18:32:16 -0000
@@ -809,7 +809,7 @@
 static int process_recipient(char *addr, struct namespace *namespace,
                             int ignorequota,
                             int (*verify_user)(const char *, const char *,
-                                               char *, long,
+                                               char *, quota_t,
                                                struct auth_state *),
                             message_data_t *msg)
 {




More information about the Info-cyrus mailing list