@@ -508,8 +508,6 @@ fuzz_eager_output(const uint8_t *data, size_t size)
508508 }
509509 }
510510
511- enum re_is_anchored_res anchorage [MAX_PATTERNS ] = {0 };
512-
513511 /* for each pattern, attempt to compile to a DFA */
514512 for (size_t p_i = 0 ; p_i < env .pattern_count ; p_i ++ ) {
515513 const char * p = env .patterns [p_i ];
@@ -528,14 +526,9 @@ fuzz_eager_output(const uint8_t *data, size_t size)
528526 continue ; /* invalid regex */
529527 }
530528
531- const fsm_output_id_t endid = (fsm_output_id_t )p_i ;
532- ret = fsm_seteageroutputonends (fsm , endid );
533- assert (ret == 1 );
534-
535529 if (verbose ) {
536530 fprintf (stderr , "==== pattern %zd, pre det\n" , p_i );
537531 fsm_dump (stderr , fsm );
538- fsm_eager_output_dump (stderr , fsm );
539532 fprintf (stderr , "====\n" );
540533
541534 fsm_state_t c = fsm_countstates (fsm );
@@ -544,12 +537,6 @@ fuzz_eager_output(const uint8_t *data, size_t size)
544537 }
545538 }
546539
547- ret = fsm_determinise (fsm );
548- assert (ret == 1 );
549-
550- ret = fsm_minimise (fsm );
551- assert (ret == 1 );
552-
553540 fsm_state_t start ;
554541 if (!fsm_getstart (fsm , & start )) {
555542 fsm_free (fsm );
@@ -578,7 +565,7 @@ fuzz_eager_output(const uint8_t *data, size_t size)
578565 /* copy and combine fsms into one DFA */
579566 {
580567 size_t used = 0 ;
581- struct fsm_union_entry entries [MAX_PATTERNS ] = {0 };
568+ struct fsm * nfas [MAX_PATTERNS ] = {0 };
582569
583570 for (size_t i = 0 ; i < env .fsm_count ; i ++ ) {
584571 /* there can be gaps, fsms[] lines up with patterns[] */
@@ -604,9 +591,7 @@ fuzz_eager_output(const uint8_t *data, size_t size)
604591 }
605592 }
606593
607- entries [used ].fsm = cp ;
608- entries [used ].anchored_start = anchorage [i ] & RE_IS_ANCHORED_START ;
609- entries [used ].anchored_end = anchorage [i ] & RE_IS_ANCHORED_END ;
594+ nfas [used ] = cp ;
610595 used ++ ;
611596 }
612597
@@ -615,7 +600,7 @@ fuzz_eager_output(const uint8_t *data, size_t size)
615600 }
616601
617602 /* consumes entries[] */
618- struct fsm * fsm = fsm_union_repeated_pattern_group (used , entries , NULL );
603+ struct fsm * fsm = fsm_union_repeated_pattern_group (used , nfas , NULL , 0 );
619604 assert (fsm != NULL );
620605
621606 if (verbose ) {
0 commit comments