aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/res_features.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/res/res_features.c b/res/res_features.c
index f4ceba90a..6e4a0ac2c 100644
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -940,13 +940,15 @@ static int feature_exec_app(struct ast_channel *chan, struct ast_channel *peer,
app = pbx_findapp(feature->app);
if (app) {
- struct ast_channel *work=chan;
- if (ast_test_flag(feature,AST_FEATURE_FLAG_CALLEE)) work=peer;
+ struct ast_channel *work = chan;
+ if (ast_test_flag(feature, AST_FEATURE_FLAG_CALLEE))
+ work = peer;
res = pbx_exec(work, app, feature->app_args, 1);
- if (res<0) return res;
+ if (res < 0)
+ return res;
} else {
ast_log(LOG_WARNING, "Could not find application (%s)\n", feature->app);
- res = -2;
+ return -2;
}
return FEATURE_RETURN_SUCCESS;
@@ -1572,7 +1574,8 @@ static void *do_parking_thread(void *ignore)
/* See if they need servicing */
f = ast_read(pu->chan);
if (!f || ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_HANGUP))) {
-
+ if (f)
+ ast_frfree(f);
manager_event(EVENT_FLAG_CALL, "ParkedCallGiveUp",
"Exten: %d\r\n"
"Channel: %s\r\n"