summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-08-21 11:37:09 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-08-21 11:37:41 -0700
commit28eadbdc4c53974c04fb415dc751a2682eaa8b1a (patch)
tree400ea34fab520983cc4fc5dbb0d5c0fece5cde04 /lib
parent63bd32fd4232cb916a683cecebf954e678360aec (diff)
downloadgnulib-28eadbdc4c53974c04fb415dc751a2682eaa8b1a.tar.gz
autoupdate
Diffstat (limited to 'lib')
-rw-r--r--lib/regex_internal.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/regex_internal.c b/lib/regex_internal.c
index 9004ce809e..99fbb26ecb 100644
--- a/lib/regex_internal.c
+++ b/lib/regex_internal.c
@@ -1311,7 +1311,6 @@ re_node_set_insert (re_node_set *set, Idx elem)
first element separately to skip a check in the inner loop. */
if (elem < set->elems[0])
{
- idx = 0;
for (idx = set->nelem; idx > 0; idx--)
set->elems[idx] = set->elems[idx - 1];
}
@@ -1716,15 +1715,19 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
{
if (newstate->entrance_nodes == &newstate->nodes)
{
- newstate->entrance_nodes = re_malloc (re_node_set, 1);
- if (__glibc_unlikely (newstate->entrance_nodes == NULL))
+ re_node_set *entrance_nodes = re_malloc (re_node_set, 1);
+ if (__glibc_unlikely (entrance_nodes == NULL))
{
free_state (newstate);
return NULL;
}
+ newstate->entrance_nodes = entrance_nodes;
if (re_node_set_init_copy (newstate->entrance_nodes, nodes)
!= REG_NOERROR)
- return NULL;
+ {
+ free_state (newstate);
+ return NULL;
+ }
nctx_nodes = 0;
newstate->has_constraint = 1;
}