From: Andrew Thompson Date: Thu, 2 Apr 2009 16:11:15 +0000 (+0000) Subject: Remember kids, practice safe memory management! X-Git-Tag: v1.0.4~1292 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c84c8974429dbb765fc445bd76c73078a760e7c;p=thirdparty%2Ffreeswitch.git Remember kids, practice safe memory management! git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12888 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/event_handlers/mod_erlang_event/handle_msg.c b/src/mod/event_handlers/mod_erlang_event/handle_msg.c index 5b18e4d117..b90bcbccea 100644 --- a/src/mod/event_handlers/mod_erlang_event/handle_msg.c +++ b/src/mod/event_handlers/mod_erlang_event/handle_msg.c @@ -207,8 +207,8 @@ static switch_status_t handle_msg_fetch_reply(listener_t *listener, ei_x_buff * } /*switch_core_hash_insert(listener->fetch_reply_hash, uuid_str, nbuf);*/ - free(nbuf->buff); - free(nbuf); + switch_safe_free(nbuf->buff); + switch_safe_free(nbuf); } return SWITCH_STATUS_SUCCESS; } @@ -794,7 +794,7 @@ static switch_status_t handle_ref_tuple(listener_t *listener, erlang_msg *msg, e ei_x_encode_atom(rbuf, "invalid_ref"); } - free(pid); /* don't need it */ + switch_safe_free(pid); /* don't need it */ return SWITCH_STATUS_SUCCESS; } diff --git a/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c b/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c index 8d1b3448f2..e029c07e77 100644 --- a/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c +++ b/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c @@ -442,9 +442,9 @@ static switch_xml_t erlang_fetch(const char *sectionstr, const char *tag_name, c /* cleanup */ switch_core_hash_delete(ptr->listener->fetch_reply_hash, uuid_str); - free(rep->buff); - free(rep); - free(xmlstr); + switch_safe_free(rep->buff); + switch_safe_free(rep); + switch_safe_free(xmlstr); return xml; } @@ -624,8 +624,8 @@ static void check_log_queue(listener_t *listener) switch_mutex_unlock(listener->sock_mutex); ei_x_free(&lbuf); - free(dnode->data); - free(dnode); + switch_safe_free(dnode->data); + switch_safe_free(dnode); } } } @@ -1145,7 +1145,7 @@ session_elem_t* attach_call_to_spawned_process(listener_t* listener, char *modul session_element->process.type = ERLANG_PID; memcpy(&session_element->process.pid, pid, sizeof(erlang_pid)); - free(pid); /* malloced in handle_ref_tuple */ + switch_safe_free(pid); /* malloced in handle_ref_tuple */ switch_set_flag(session_element, LFLAG_SESSION_ALIVE); switch_clear_flag(session_element, LFLAG_OUTBOUND_INIT); switch_clear_flag(session_element, LFLAG_WAITING_FOR_PID);