Thank you.  Your proposed patch is correct, and is now in Panda IMAP.

For what it's worth, there may be some news about a public distribution
of Panda IMAP later this month.

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.



> Date: Fri, 8 Aug 2008 00:31:00 +0200
> From: [EMAIL PROTECTED]
> To: [email protected]
> Subject: [Imap-uw] patch: fix for rare smtp_close() crash
>
> Hello,
>
> Although Mark doesn't maintain the library any more, I hope this small
> patch is still going to be useful to someone. It fixes a rare problem (but
> which does happen as it just did do a user of my program) in smtp_close()
> which reads like this in the latest version I have:
>
> if (stream) { /* send "QUIT" */
> if (stream->netstream) { /* do close actions if have netstream */
> smtp_send (stream,"QUIT",NIL);
> net_close (stream->netstream);
> }
> ...
>
> The problem is that the connection could be lost inside smtp_send() in
> which case netstream is reset to NIL in smtp_fake() and the call to
> net_close() crashes. The following trivial patch fixes it:
>
> Index: lib/imap/src/c-client/smtp.c
> ===================================================================
> --- lib/imap/src/c-client/smtp.c (revision 7536)
> +++ lib/imap/src/c-client/smtp.c (revision 7537)
> @@ -396,7 +396,8 @@
>
> if (stream) { /* send "QUIT" */
> if (stream->netstream) { /* do close actions if have netstream */
> smtp_send (stream,"QUIT",NIL);
> - net_close (stream->netstream);
> + if (stream->netstream) /* could have been closed during "QUIT" */
> + net_close (stream->netstream);
> }
> /* clean up */
> if (stream->host) fs_give ((void **) &stream->host);
>
> HTH,
> VZ

_________________________________________________________________
Got Game? Win Prizes in the Windows Live Hotmail Mobile Summer Games Trivia 
Contest
http://www.gowindowslive.com/summergames?ocid=TXT_TAGHM_______________________________________________
Imap-uw mailing list
[email protected]
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to