diff options
author | David Barksdale <amatus.amongus@gmail.com> | 2008-05-15 22:00:26 +0000 |
---|---|---|
committer | David Barksdale <amatus.amongus@gmail.com> | 2008-05-15 22:00:26 +0000 |
commit | 54506c4b495bd680ea4a62e5ab97be51f968cc09 (patch) | |
tree | da951fbbfbbcac074b9488391eabb4733ffa58af /treexpr.c | |
parent | cf308c8cdbc3209f31d45f5ed28929f699d9837c (diff) |
There is a bug in tree_process() that mixes the start state with the final
state from the last run of the machine. This can cause extra matches to be
reported.
Diffstat (limited to 'treexpr.c')
-rw-r--r-- | treexpr.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -990,6 +990,7 @@ int tree_process( struct machine *m, xmlNodePtr node ) m->next_state = zalloc( N( m->next_state, m->states ) * sizeof( *m->next_state )); // our inital current state is E(start) + memset( m->cur_state, 0, N( m->cur_state, m->states ) * sizeof( *m->cur_state )); OR( m->cur_state, m->E[m->start->num], m->states ); // main loop, terminate when we run out of input or when there's no states in the cur_state bitmask |