X-Git-Url: https://hackdaworld.org/gitweb/?p=hdw-linux%2Fhdw-linux.git;a=blobdiff_plain;f=packages%2Fbase%2Fgawk%2Fgawk.patch;fp=packages%2Fbase%2Fgawk%2Fgawk.patch;h=6cfd8c6f76baef3a26cc4e7c9b77ea8aeba80868;hp=0000000000000000000000000000000000000000;hb=793f79d0d200544e7193cdfd4b66dc2479bf7247;hpb=504579d0d381b02fc33fe1c696d64f96135a15a8 diff --git a/packages/base/gawk/gawk.patch b/packages/base/gawk/gawk.patch new file mode 100644 index 0000000..6cfd8c6 --- /dev/null +++ b/packages/base/gawk/gawk.patch @@ -0,0 +1,35 @@ +--- gawk-3.1.5.orig/io.c 2005-07-26 18:07:43.000000000 +0000 ++++ gawk-3.1.5/io.c 2005-09-24 14:43:13.771380264 +0000 +@@ -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");