This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug regex/16851] New: re_node_set_alloc should not return REG_ESPACE when size == 0
- From: "nkennedy at grammatech dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 17 Apr 2014 22:19:54 +0000
- Subject: [Bug regex/16851] New: re_node_set_alloc should not return REG_ESPACE when size == 0
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=16851
Bug ID: 16851
Summary: re_node_set_alloc should not return REG_ESPACE when
size == 0
Product: glibc
Version: unspecified
Status: NEW
Keywords: std-isoc
Severity: normal
Priority: P2
Component: regex
Assignee: unassigned at sourceware dot org
Reporter: nkennedy at grammatech dot com
CC: drepper.fsp at gmail dot com, eggert at gnu dot org
regcomp fails with REG_ESPACE from re_node_set_alloc if malloc(0) returns NULL.
ptmalloc2 malloc(0) doesn't return NULL (unless it's really out of space), but
this is allowed by the standard and causes errors when such an allocator is
used.
This was fixed in gnulib at bbf0d723ed2335add96bcc0f842885d8a5d8b6da:
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=bbf0d723ed2335add96bcc0f842885d8a5d8b6da
And previously in uClibc at 4af711dfe8caf18756c2cb28f72b102c5eba3930:
http://git.opencores.org/?a=commitdiff&p=uClibc&h=4af711dfe8caf18756c2cb28f72b102c5eba3930
(Despite the commit message, the uClibc patch had not ultimately been applied
to sed, rather until bbf0d72... gnulib's regex worked around the error using
the malloc-gnu wrapper module.)
In the vein of harmonizing glibc/gnulib regex, I'm don't think adding the
MALLOC_0_IS_NONNULL macro attempting to check for malloc(0) failure is needed.
It should be enough to add "&& size != 0" to
regex_internal.c:972 if (BE (set->elems == NULL, 0))
--
You are receiving this mail because:
You are on the CC list for the bug.