nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] Re: 1.1RC4: can't rebuild dtimep.c with modern flex

2005-11-02 07:49:13
Oliver Kiddle wrote:
On 26 Oct, pmaydell@chiark.greenend.org.uk wrote:
I also think we should fix a problem where mhshow can segfault
on bogus MIME messages:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=245932

The patch looks fine to me. You wrote it, right? Why not post it to the
list and then if nobody objects, commit it to CVS yourself? Jon or Ken
can give you CVS access.

I don't mind committing it to CVS; the question is whether you want
to add people to the CVS access list who might commit two or three
fixes and then do nothing for six months. (I don't often have time for
nmh work.) I've appended the patch to this email, anyway.

Removing the autogenerated dtimep.c would seem sensible to me. Does
renaming configure.in to configure.ac work as a quick fix to the
configure bug that you mentioned?

Well, it might. But renaming files in CVS is a pain in the neck, whereas
just adding an AC_PREREQ will have the right effect and means that if
you do try to run autoconf 2.13 on it you get a helpful error message
telling you to use a newer autoconf.

-- PMM

===begin===
--- /usr/local/src/nmh-1.1-RC4-debpatch.pmm/uip/mhparse.c       2003-09-30 
17:58:43.000000000 +0100
+++ uip/mhparse.c       2005-10-25 01:25:40.000000000 +0100
@@ -259,7 +259,6 @@
     if (!(ct = get_content (fp, file, 1))) {
        if (is_stdin)
            unlink (file);
-       fclose (fp);
        advise (NULL, "unable to decode %s", file);
        return NULL;
     }
@@ -293,6 +292,7 @@
  * toplevel =  0   # we are inside message type or multipart type
  *                 # other than multipart/digest
  * toplevel = -1   # we are inside multipart/digest
+ * NB: on failure we will fclose(in)!
  */
 
 static CT
@@ -1056,7 +1056,6 @@
 
            if (!(p = get_content (fp, ct->c_file,
                        ct->c_subtype == MULTI_DIGEST ? -1 : 0))) {
-               fclose (ct->c_fp);
                ct->c_fp = NULL;
                return NOTOK;
            }
@@ -1285,7 +1284,6 @@
                fseek (fp = ct->c_fp, ct->c_begin, SEEK_SET);
 
                if (!(p = get_content (fp, ct->c_file, 0))) {
-                   fclose (ct->c_fp);
                    ct->c_fp = NULL;
                    return NOTOK;
                }
===endit===


_______________________________________________
Nmh-workers mailing list
Nmh-workers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>