diff --git a/optimize.c b/optimize.c index 4afd063f..90e8c571 100644 --- a/optimize.c +++ b/optimize.c @@ -1888,7 +1888,7 @@ opt_root(struct block **b) static void opt_loop(opt_state_t *opt_state, struct icode *ic, int do_stmts) { - + int loopCounter = 0; #ifdef BDEBUG if (pcap_optimizer_debug > 1 || pcap_print_dot_graph) { printf("opt_loop(root, %d) begin\n", do_stmts); @@ -1909,6 +1909,10 @@ opt_loop(opt_state_t *opt_state, struct icode *ic, int do_stmts) opt_dump(opt_state, ic); } #endif + loopCounter++; + if (loopCounter > 1000) { + break; + } } while (!opt_state->done); }