..silence..

..more silence..

Well.  Yes, there is an oversight.  It's a double-free of a file
descriptor if a mailbox grows while we have opened it, in
quit.c:edstop(), a function that has seen a bit of rework.
It would cause no harm at all *if* we wouldn't call panic() once
we detect that situation .. and panic abort(3)s.  8-(
It happened to me yesterday evening, once i replied to a message
i wrote, staying in an open *record*..
It's a one line fix, but i guess i'll will and have to release
a subminor.  That is total crap now, really.  S-nail should be
over the top, finally.  The fix is on [master], i'll wait until
the weekend, but i really don't think there is anything more to
bugfix.

--steffen
Date:   2014-02-18 13:31:51 +0100

    quit.c:edstop(): fix double Fclose() that results in panic()..
    
    SHIT: v14.6 has an oversight bug!!
    When the mailbox to be quit()ted has grown we copy over to another
    temporary, in which case we would Fclose(ibuf) twice -- because
    v14.6 still calls panic() if popen.c:unregister_file() is called
    with an unknown file argument even in !HAVE_DEBUG cases, this
    results in a forced panic()!
---
 quit.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/quit.c b/quit.c
index 27bcac6..75b3ece 100644
--- a/quit.c
+++ b/quit.c
@@ -224,7 +224,6 @@ edstop(void)
    if (ibuf != NULL) {
       while ((c = getc(ibuf)) != EOF)
          putc(c, obuf);
-      Fclose(ibuf);
    }
    fflush(obuf);
    if (ferror(obuf)) {
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
S-nail-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/s-nail-users

Reply via email to