GNU bug report logs - #17499
current dfa.c can malloc 0 bytes

Previous Next

Package: grep;

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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Aharon Robbins <arnold <at> skeeve.com>
Subject: bug#17499: closed (Re: bug#17499: current dfa.c can malloc 0 bytes)
Date: Thu, 15 May 2014 19:45:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#17499: current dfa.c can malloc 0 bytes

which was filed against the grep package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 17499 <at> debbugs.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)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Aharon Robbins <arnold <at> skeeve.com>
Cc: 17499-done <at> debbugs.gnu.org
Subject: Re: bug#17499: current dfa.c can malloc 0 bytes
Date: Thu, 15 May 2014 12:44:25 -0700
[Message part 3 (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)]
[Message part 5 (message/rfc822, inline)]
From: Aharon Robbins <arnold <at> skeeve.com>
To: bug-grep <at> gnu.org
Subject: current dfa.c can malloc 0 bytes
Date: Thu, 15 May 2014 19:22:40 +0300
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;
 }



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.