handle buffer boundries a bit better, assert before deref. Found by Klockwork (www.klocwork.com)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8422 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
766681f666
commit
3fc660fc17
|
@ -130,7 +130,7 @@ SWITCH_DECLARE(const char *) switch_channel_cause2str(switch_call_cause_t cause)
|
||||||
uint8_t x;
|
uint8_t x;
|
||||||
const char *str = "UNKNOWN";
|
const char *str = "UNKNOWN";
|
||||||
|
|
||||||
for (x = 0; CAUSE_CHART[x].name; x++) {
|
for (x = 0; x < (sizeof(CAUSE_CHART) / sizeof(struct switch_cause_table)) ; x++) {
|
||||||
if (CAUSE_CHART[x].cause == cause) {
|
if (CAUSE_CHART[x].cause == cause) {
|
||||||
str = CAUSE_CHART[x].name;
|
str = CAUSE_CHART[x].name;
|
||||||
}
|
}
|
||||||
|
@ -147,7 +147,7 @@ SWITCH_DECLARE(switch_call_cause_t) switch_channel_str2cause(const char *str)
|
||||||
if (*str > 47 && *str < 58) {
|
if (*str > 47 && *str < 58) {
|
||||||
cause = atoi(str);
|
cause = atoi(str);
|
||||||
} else {
|
} else {
|
||||||
for (x = 0; CAUSE_CHART[x].name; x++) {
|
for (x = 0; x < (sizeof(CAUSE_CHART) / sizeof(struct switch_cause_table)) && CAUSE_CHART[x].name; x++) {
|
||||||
if (!strcasecmp(CAUSE_CHART[x].name, str)) {
|
if (!strcasecmp(CAUSE_CHART[x].name, str)) {
|
||||||
cause = CAUSE_CHART[x].cause;
|
cause = CAUSE_CHART[x].cause;
|
||||||
}
|
}
|
||||||
|
@ -1272,10 +1272,9 @@ SWITCH_DECLARE(void) switch_channel_clear_state_handler(switch_channel_t *channe
|
||||||
int index, i = channel->state_handler_index;
|
int index, i = channel->state_handler_index;
|
||||||
const switch_state_handler_table_t *new_handlers[SWITCH_MAX_STATE_HANDLERS] = { 0 };
|
const switch_state_handler_table_t *new_handlers[SWITCH_MAX_STATE_HANDLERS] = { 0 };
|
||||||
|
|
||||||
|
switch_assert(channel != NULL);
|
||||||
|
|
||||||
switch_mutex_lock(channel->flag_mutex);
|
switch_mutex_lock(channel->flag_mutex);
|
||||||
|
|
||||||
switch_assert(channel != NULL);
|
|
||||||
channel->state_handler_index = 0;
|
channel->state_handler_index = 0;
|
||||||
|
|
||||||
if (state_handler) {
|
if (state_handler) {
|
||||||
|
|
Loading…
Reference in New Issue