mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 22:30:07 +00:00
Fix memory leak for some invalid regular expressions.
This commit is contained in:
parent
b76b818e6f
commit
a129c80d54
@ -1,5 +1,10 @@
|
||||
2010-10-11 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* posix/regcomp.c (parse_bracket_exp): Add missing re_free calls.
|
||||
|
||||
[BZ #12078]
|
||||
* posix/regcomp.c (parse_sub_exp): Free tree data when it is not used.
|
||||
|
||||
[BZ #12108]
|
||||
* stdio-common/psiginfo.c (psiginfo): Don't expext SIGRTMIN..SIGRTMAX
|
||||
to have entries in sys_siglist.
|
||||
|
2
NEWS
2
NEWS
@ -10,7 +10,7 @@ Version 2.13
|
||||
* The following bugs are resolved with this release:
|
||||
|
||||
3268, 7066, 10851, 11611, 11640, 11701, 11840, 11856, 11883, 11903, 11904,
|
||||
11968, 11979, 12005, 12037, 12067, 12077, 12092, 12093, 12107, 12108
|
||||
11968, 11979, 12005, 12037, 12067, 12077, 12078, 12092, 12093, 12107, 12108
|
||||
|
||||
* New Linux interfaces: prlimit, prlimit64, fanotify_init, fanotify_mark
|
||||
|
||||
|
@ -2418,7 +2418,11 @@ parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
|
||||
{
|
||||
tree = parse_reg_exp (regexp, preg, token, syntax, nest, err);
|
||||
if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0))
|
||||
*err = REG_EPAREN;
|
||||
{
|
||||
if (tree != NULL)
|
||||
free_tree (NULL, tree);
|
||||
*err = REG_EPAREN;
|
||||
}
|
||||
if (BE (*err != REG_NOERROR, 0))
|
||||
return NULL;
|
||||
}
|
||||
@ -3028,6 +3032,10 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
|
||||
if (BE (sbcset == NULL, 0))
|
||||
#endif /* RE_ENABLE_I18N */
|
||||
{
|
||||
re_free (sbcset);
|
||||
#ifdef RE_ENABLE_I18N
|
||||
re_free (mbcset);
|
||||
#endif
|
||||
*err = REG_ESPACE;
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user