freetdm: fixing a potential crash on a rarely happened situation

This commit is contained in:
James Zhang 2012-03-15 18:05:47 -04:00
parent 3c4fdca9e0
commit 19f01bf50a
2 changed files with 18 additions and 12 deletions

View File

@ -1314,6 +1314,10 @@ static ftdm_status_t handle_show_status(ftdm_stream_handle_t *stream, int span,
}else { }else {
stream->write_function(stream, "relay=N"); stream->write_function(stream, "relay=N");
} }
#ifdef SMG_RELAY_DBG
stream->write_function(stream, "| flag=0x%llx", ftdmchan->flags);
#endif
} }
#ifdef SMG_RELAY_DBG #ifdef SMG_RELAY_DBG

View File

@ -614,6 +614,7 @@ static void ftdm_sangoma_ss7_process_stack_event (sngss7_event_data_t *sngss7_ev
break; break;
case SNGSS7_REL_CFM_EVENT: case SNGSS7_REL_CFM_EVENT:
{ {
if (sngss7_info->peer_data) {
ftdm_channel_t *peer_chan = sngss7_info->peer_data->ftdmchan; ftdm_channel_t *peer_chan = sngss7_info->peer_data->ftdmchan;
ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DOWN); ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
if (peer_chan) { if (peer_chan) {
@ -630,6 +631,7 @@ static void ftdm_sangoma_ss7_process_stack_event (sngss7_event_data_t *sngss7_ev
ftdm_channel_lock(ftdmchan); ftdm_channel_lock(ftdmchan);
} }
} }
}
break; break;
default: default:
break; break;