Вполне вероятно, что переполнение буфера в каком-либо буфере, расположенном в вашем стеке.Это перезаписывает адрес возврата, поэтому, когда ваш код пытается вернуться к предыдущему кадру стека, он вместо этого переходит на некоторый случайный адрес, который, скорее всего, не является неисполнимым, поэтому вы получаете ошибку сегментации.
Ноне видя больше кода или дополнительной информации о сбое, невозможно сказать, какова точная причина.