[Bug 303] gawk-3.1.5

bugzilla at linuxfromscratch.org bugzilla at linuxfromscratch.org
Mon Aug 15 20:29:58 PDT 2005


http://bugs.linuxfromscratch.org/show_bug.cgi?id=303





------- Additional Comments From alexander at linuxfromscratch.org  2005-08-15 21:29 -------
The second bug is fixed with (copy-and-paste from
http://lists.gnu.org/archive/html/bug-gnu-utils/2005-08/msg00047.html):

--- ../gawk-3.1.5/io.c  2005-07-26 21:07:43.000000000 +0300
+++ io.c        2005-08-12 13:10:28.239852344 +0300
@@ -2480,9 +2480,12 @@
 {
        struct stat sbuf;
        struct open_hook *oh;
+       int iop_malloced = FALSE;
 
-       if (iop == NULL)
+       if (iop == NULL) {
                emalloc(iop, IOBUF *, sizeof(IOBUF), "iop_alloc");
+               iop_malloced = TRUE;
+       }
        memset(iop, '\0', sizeof(IOBUF));
        iop->flag = 0;
        iop->fd = fd;
@@ -2495,7 +2498,8 @@
        }
 
        if (iop->fd == INVALID_HANDLE) {
-               free(iop);
+               if (iop_malloced)
+                       free(iop);
                return NULL;
        }
        if (isatty(iop->fd))
@@ -2503,7 +2507,7 @@
        iop->readsize = iop->size = optimal_bufsize(iop->fd, & sbuf);
        iop->sbuf = sbuf;
        if (do_lint && S_ISREG(sbuf.st_mode) && sbuf.st_size == 0)
-                       lintwarn(_("data file `%s' is empty"), name);
+               lintwarn(_("data file `%s' is empty"), name);
        errno = 0;
        iop->count = iop->scanoff = 0;
        emalloc(iop->buf, char *, iop->size += 2, "iop_alloc");



------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.



More information about the lfs-book mailing list