diff options
author | Jim Meyering <meyering@redhat.com> | 2010-12-27 18:19:56 -0500 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2010-12-27 18:19:56 -0500 |
commit | 2543fef229599e8a6e4feeea65ca2dd3f984154f (patch) | |
tree | ac2ed911516c1c54273899a23af4fd6b2e941b8f | |
parent | db014c12695388b4e6eb608a4132a8c7b4ee74f1 (diff) | |
download | glibc-2543fef229599e8a6e4feeea65ca2dd3f984154f.zip glibc-2543fef229599e8a6e4feeea65ca2dd3f984154f.tar.gz glibc-2543fef229599e8a6e4feeea65ca2dd3f984154f.tar.bz2 |
Fix infloop on persistent failing calloc in regex.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | posix/regexec.c | 2 |
3 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2010-12-27 Jim Meyering <meyering@redhat.com> + + [BZ #12348] + * posix/regexec.c (build_trtable): Return failure indication upon + calloc failure. Otherwise, re_search_internal could infloop on OOM. + 2010-12-25 Ulrich Drepper <drepper@gmail.com> [BZ #12201] @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2010-12-26 +GNU C Library NEWS -- history of user-visible changes. 2010-12-27 Copyright (C) 1992-2009, 2010 Free Software Foundation, Inc. See the end for copying conditions. @@ -12,7 +12,7 @@ Version 2.13 3268, 7066, 10085, 10851, 11149, 11611, 11640, 11655, 11701, 11840, 11856, 11883, 11903, 11904, 11968, 11979, 12005, 12037, 12067, 12077, 12078, 12092, 12093, 12107, 12108, 12113, 12140, 12159, 12167, 12191, 12194, 12201, 12204, - 12205, 12207 + 12205, 12207, 12348 * New Linux interfaces: prlimit, prlimit64, fanotify_init, fanotify_mark diff --git a/posix/regexec.c b/posix/regexec.c index 7f7ae31..8d4475c 100644 --- a/posix/regexec.c +++ b/posix/regexec.c @@ -3373,6 +3373,8 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) { state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); + if (BE (state->trtable == NULL, 0)) + return 0; return 1; } return 0; |