Merged Gnulib changes into glibc

Message ID a0aae8bc-6300-6214-1a24-3575203a28a0@cs.ucla.edu
State Committed
Headers
Series Merged Gnulib changes into glibc |

Commit Message

Paul Eggert Aug. 5, 2020, 7:06 a.m. UTC
  On 8/4/20 8:46 PM, Carlos O'Donell via Libc-alpha wrote:

> The development branch is open for glibc 2.33.

Thanks for doing the release management, Carlos.

To help things get started on 2.33, I merged the attached minor patches from 
Gnulib, so that the affected files are now identical again between the two 
packages. I think the last patch is the only one that might affect glibc in 
current practice, as it fixes a bug involving more than 16 epsilon-reachable 
subexpressions (I don't have a test case but one would be welcome).
  

Patch

From 2cc478ed1be82711a6cac15aae683530b2e6732b Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 4 Aug 2020 23:45:27 -0700
Subject: [PATCH 5/5] Copy regex_internal.h from Gnulib

Sync this file from Gnulib, thus incorporating the following
fix for a bug with regexps with 16 or more subexpressions:
* posix/regex_internal.h (struct re_backref_cache_entry):
Use bitset_word_t as the type of eps_reachable_subexps_map,
instead of unsigned short int.  This fixes a bug I introduced
to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
Remove unused member 'unused'.
---
 posix/regex_internal.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/posix/regex_internal.h b/posix/regex_internal.h
index e9aa74bf33..8c42586c42 100644
--- a/posix/regex_internal.h
+++ b/posix/regex_internal.h
@@ -591,9 +591,8 @@  struct re_backref_cache_entry
   Idx str_idx;
   Idx subexp_from;
   Idx subexp_to;
+  bitset_word_t eps_reachable_subexps_map;
   char more;
-  char unused;
-  unsigned short int eps_reachable_subexps_map;
 };
 
 typedef struct
-- 
2.25.4