Browse Source

fix the use of uninitialized value in regcomp

the num_submatches field of some ast nodes was not initialized in
tre_add_tag_{left,right}, but was accessed later.

this was a benign bug since the uninitialized values were never used
(these values are created during tre_add_tags and copied around during
tre_expand_ast where they are also used in computations, but nothing
in the final tnfa depends on them).
master
Szabolcs Nagy 10 years ago
committed by Rich Felker
parent
commit
51eeb6ebc9
  1. 2
      src/regex/regcomp.c

2
src/regex/regcomp.c

@ -1106,6 +1106,7 @@ tre_add_tag_left(tre_mem_t mem, tre_ast_node_t *node, int tag_id)
c->right->firstpos = NULL;
c->right->lastpos = NULL;
c->right->num_tags = 0;
c->right->num_submatches = 0;
node->obj = c;
node->type = CATENATION;
return REG_OK;
@ -1136,6 +1137,7 @@ tre_add_tag_right(tre_mem_t mem, tre_ast_node_t *node, int tag_id)
c->left->firstpos = NULL;
c->left->lastpos = NULL;
c->left->num_tags = 0;
c->left->num_submatches = 0;
node->obj = c;
node->type = CATENATION;
return REG_OK;

Loading…
Cancel
Save