mirror of git://git.musl-libc.org/musl
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).
This commit is contained in:
parent
63e3a1661f
commit
51eeb6ebc9
|
@ -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->firstpos = NULL;
|
||||||
c->right->lastpos = NULL;
|
c->right->lastpos = NULL;
|
||||||
c->right->num_tags = 0;
|
c->right->num_tags = 0;
|
||||||
|
c->right->num_submatches = 0;
|
||||||
node->obj = c;
|
node->obj = c;
|
||||||
node->type = CATENATION;
|
node->type = CATENATION;
|
||||||
return REG_OK;
|
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->firstpos = NULL;
|
||||||
c->left->lastpos = NULL;
|
c->left->lastpos = NULL;
|
||||||
c->left->num_tags = 0;
|
c->left->num_tags = 0;
|
||||||
|
c->left->num_submatches = 0;
|
||||||
node->obj = c;
|
node->obj = c;
|
||||||
node->type = CATENATION;
|
node->type = CATENATION;
|
||||||
return REG_OK;
|
return REG_OK;
|
||||||
|
|
Loading…
Reference in New Issue