--- spandsp-0.0.3/src/t31.c 2006-09-05 19:00:14.000000000 -0700 +++ spandsp/src/t31.c 2006-09-06 17:42:00.379750416 -0700 @@ -314,7 +314,7 @@ int t31_t38_send_timeout(t31_state_t *s, int samples) { - int len; + int len = 0; uint8_t buf[100]; /* Training times for all the modem options, with and without TEP */ static const int training_time[] = @@ -1368,12 +1368,10 @@ /* Searching for a specified minimum period of silence. */ s = (t31_state_t *) user_data; - if (s->silence_heard >= s->silence_awaited) + if (s->silence_awaited && s->silence_heard >= s->silence_awaited) { at_put_response_code(&s->at_state, AT_RESPONSE_CODE_OK); t31_set_at_rx_mode(s, AT_MODE_OFFHOOK_COMMAND); - s->rx_handler = dummy_rx; - s->rx_user_data = NULL; s->silence_heard = 0; s->silence_awaited = 0; }