GNU bug report logs -
#17499
current dfa.c can malloc 0 bytes
Previous Next
Reported by: Aharon Robbins <arnold <at> skeeve.com>
Date: Thu, 15 May 2014 16:24:02 UTC
Severity: normal
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 15 May 2014 12:44:25 -0700
with message-id <53751919.40307 <at> cs.ucla.edu>
and subject line Re: bug#17499: current dfa.c can malloc 0 bytes
has caused the debbugs.gnu.org bug report #17499,
regarding current dfa.c can malloc 0 bytes
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
17499: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17499
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hello.
It seems that code in the grep master dfa.c can call xmalloc with
an amount that is zero. This is OK on GLIBC but is causing some failures
on other systems where malloc(0) fails.
This was not the case a while back (when gawk 4.1.1 was released in
April or so).
It'd be nice if this could be fixed sometime. To test this in gawk,
Apply the patch below to either master or gawk-4.1-stable from the git repo
and rebuild, and make check. Gawk 4.1.1 doesn't have this problem.
Thanks
Arnold
---------------
diff --git a/gawkmisc.c b/gawkmisc.c
index a729d88..b07281d 100644
--- a/gawkmisc.c
+++ b/gawkmisc.c
@@ -52,6 +52,8 @@ pointer
xmalloc(size_t bytes)
{
pointer p;
+ if (bytes == 0)
+ fprintf(stderr, "%s: 0 bytes!\n", __func__), fflush(stderr);
emalloc(p, pointer, bytes, "xmalloc");
return p;
}
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
On 05/15/2014 10:34 AM, Aharon Robbins wrote:
> The wrapper only checks for NULL return.
Ah, thanks, that's the problem then: gawk's xmalloc is pickier than
grep's, and the extra pickiness is incompatible with what dfa.c
expects. I see that gawk's xrealloc is also too picky, but gawk's
xcalloc is OK. Attached isa patch to gawk. As this problem does not
affect grep I'll close the grep bug.
[0001-Port-to-systems-where-malloc-0-and-or-realloc-P-0-re.patch (text/x-patch, attachment)]
This bug report was last modified 11 years and 14 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.