diff --git a/CHANGES b/CHANGES index a205d7ae38..804c475df3 100755 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,7 @@ + -- chan_zap + -- seg fault fix -- rtp - -- fix for a seg fault + -- seg fault fix -- chan_sip -- fix to prevent seg fault when attempting a transfer -- fix bug with supervised transfers diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 6745575a6a..eb5a60a888 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -5039,9 +5039,11 @@ static void *ss_thread(void *data) p->subs[SUB_THREEWAY].owner; struct zt_pvt *pbridge = NULL; /* set up the private struct of the bridged one, if any */ - if (nbridge && nbridge->bridge) pbridge = nbridge->bridge->pvt->pvt; - if (nbridge && - (!strcmp(nbridge->type,"Zap")) && + if (nbridge && nbridge->bridge) + pbridge = nbridge->bridge->pvt->pvt; + if (nbridge && pbridge && + (!strcmp(nbridge->type,"Zap")) && + (!strcmp(nbridge->bridge->type, "Zap")) && ISTRUNK(pbridge)) { int func = ZT_FLASH; /* Clear out the dial buffer */