Index: res/res_features.c =================================================================== --- res/res_features.c (revision 7822) +++ res/res_features.c (working copy) @@ -940,13 +940,15 @@ 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 @@ /* 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"