summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2006-06-05 05:21:46 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2006-06-05 05:21:46 +0000
commitf9265a7efe4b53093dedcfa44de0d330484b86ef (patch)
treebcc36c1bfc9754de6924f2adc95b8a107f4eaa8b
parent53ca379fa304eeaafaae9691ffc20cba53bd3d59 (diff)
downloadcoreutils-f9265a7efe4b53093dedcfa44de0d330484b86ef.tar.xz
* regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
reported by Andreas Schwab.
-rw-r--r--lib/ChangeLog5
-rw-r--r--lib/regexec.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index b0a50952e..42c19cbe3 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,8 @@
+2006-06-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
+ reported by Andreas Schwab.
+
2006-05-25 Paul Eggert <eggert@cs.ucla.edu>
* tempname.c (small_open, large_open): New macros.
diff --git a/lib/regexec.c b/lib/regexec.c
index 6307d0501..84c3aed63 100644
--- a/lib/regexec.c
+++ b/lib/regexec.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -3615,7 +3615,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
else if (type == OP_UTF8_PERIOD)
{
if (ASCII_CHARS % BITSET_WORD_BITS == 0)
- memset (accepts, -1, ASCII_CHARS);
+ memset (accepts, -1, ASCII_CHARS / CHAR_BIT);
else
bitset_merge (accepts, utf8_sb_map);
if (!(dfa->syntax & RE_DOT_NEWLINE))