diff --git a/translate.c b/translate.c index e2e6324f40228627658926c526cdade1c9b1254f..fd8c82d069f1109fbb460117a0a130b22336f962 100755 --- a/translate.c +++ b/translate.c @@ -70,10 +70,11 @@ static int powerof(int d) void ast_translator_free_path(struct ast_trans_pvt *p) { - struct ast_trans_pvt *pl; - while(p) { - pl = p; - p = p->next; + struct ast_trans_pvt *pl, *pn; + pn = p; + while(pn) { + pl = pn; + pn = pn->next; if (pl->state && pl->step->destroy) pl->step->destroy(pl->state); free(pl);