fix FSCORE-261

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10994 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-12-29 22:41:03 +00:00
parent bb974720e9
commit 5c426fc51d
1 changed files with 3 additions and 4 deletions

View File

@ -168,7 +168,7 @@ SWITCH_DECLARE(FILE *) switch_core_data_channel(switch_text_channel_t channel)
SWITCH_DECLARE(void) switch_core_remove_state_handler(const switch_state_handler_table_t *state_handler) SWITCH_DECLARE(void) switch_core_remove_state_handler(const switch_state_handler_table_t *state_handler)
{ {
int index, total = 0; int index, tmp_index = 0;
const switch_state_handler_table_t *tmp[SWITCH_MAX_STATE_HANDLERS+1] = { 0 }; const switch_state_handler_table_t *tmp[SWITCH_MAX_STATE_HANDLERS+1] = { 0 };
switch_mutex_lock(runtime.global_mutex); switch_mutex_lock(runtime.global_mutex);
@ -179,13 +179,12 @@ SWITCH_DECLARE(void) switch_core_remove_state_handler(const switch_state_handler
if (cur == state_handler) { if (cur == state_handler) {
continue; continue;
} }
tmp[index] = runtime.state_handlers[index]; tmp[tmp_index++] = cur;
total++;
} }
runtime.state_handler_index = 0; runtime.state_handler_index = 0;
for (index = 0; index < total; index++) { for (index = 0; index < tmp_index; index++) {
runtime.state_handlers[runtime.state_handler_index++] = tmp[index]; runtime.state_handlers[runtime.state_handler_index++] = tmp[index];
} }
switch_mutex_unlock(runtime.global_mutex); switch_mutex_unlock(runtime.global_mutex);