diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index bcae38ee76..f27dbf1acb 100644 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -385,6 +385,7 @@ SWITCH_STANDARD_APP(eavesdrop_function) switch_safe_free(e_data.uuid_list[x]); } + free(sql); switch_core_db_close(db); } else { diff --git a/src/mod/endpoints/mod_sofia/sofia_presence.c b/src/mod/endpoints/mod_sofia/sofia_presence.c index 1a8dcf26dd..ac49eccc99 100644 --- a/src/mod/endpoints/mod_sofia/sofia_presence.c +++ b/src/mod/endpoints/mod_sofia/sofia_presence.c @@ -1113,8 +1113,8 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char * const char *from_id = switch_str_nil(switch_event_get_header(helper->event, "Other-Leg-Caller-ID-Number")); const char *to_user = switch_str_nil(switch_event_get_header(helper->event, "variable_sip_to_user")); const char *from_user = switch_str_nil(switch_event_get_header(helper->event, "variable_sip_from_user")); - const char *clean_to_user = NULL; - const char *clean_from_user = NULL; + char *clean_to_user = NULL; + char *clean_from_user = NULL; const char *p_to_user = switch_str_nil(switch_event_get_header(helper->event, "to-user")); #if 0 char *buf; @@ -1221,6 +1221,9 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char * stream.write_function(&stream, "\n"); } } + + switch_safe_free(clean_to_user); + switch_safe_free(clean_from_user); } if (is_dialog) { stream.write_function(&stream, "\n"); diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c index 1d2c57107f..2fa391de29 100644 --- a/src/switch_ivr_play_say.c +++ b/src/switch_ivr_play_say.c @@ -276,7 +276,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_phrase_macro(switch_core_session_t *s status = switch_ivr_play_file(session, NULL, odata, args); } else if (!strcasecmp(func, "break")) { done = 1; - break; + /* must allow the switch_safe_free below to execute or we leak - do not break here */ } else if (!strcasecmp(func, "execute")) { switch_application_interface_t *app; char *cmd, *cmd_args;