summaryrefslogtreecommitdiff
path: root/main/translate.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/translate.c')
-rw-r--r--main/translate.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/main/translate.c b/main/translate.c
index 4ffe27c33..0721f07b0 100644
--- a/main/translate.c
+++ b/main/translate.c
@@ -499,6 +499,7 @@ struct ast_trans_pvt *ast_translator_build_path(struct ast_format *dst, struct a
ast_log(LOG_WARNING, "No translator path from %s to %s\n",
ast_format_get_name(src), ast_format_get_name(dst));
AST_RWLIST_UNLOCK(&translators);
+ ast_translator_free_path(head);
return NULL;
}
if ((t->dst_codec.sample_rate == ast_format_get_sample_rate(dst)) && (t->dst_codec.type == ast_format_get_type(dst))) {
@@ -507,9 +508,7 @@ struct ast_trans_pvt *ast_translator_build_path(struct ast_format *dst, struct a
if (!(cur = newpvt(t, explicit_dst))) {
ast_log(LOG_WARNING, "Failed to build translator step from %s to %s\n",
ast_format_get_name(src), ast_format_get_name(dst));
- if (head) {
- ast_translator_free_path(head);
- }
+ ast_translator_free_path(head);
AST_RWLIST_UNLOCK(&translators);
return NULL;
}