diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-03-15 18:13:21 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-03-15 18:13:21 +0000 |
commit | a63acaa328b9937677f3f5c4d861889a6e369034 (patch) | |
tree | 2cda20606162b031bb61b6b651753001d3939153 | |
parent | feba0148d14ddb612e097d00ab49de44a70db639 (diff) |
Don't assume that the pvt structure will still exist after calling schedule_delivery as it may not. (issue #9278 reported by fmachado)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@58923 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_iax2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 54f0a4fba..4e3bf6173 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -6392,7 +6392,8 @@ static int socket_process(struct iax2_thread *thread) if (duped_fr) { schedule_delivery(duped_fr, updatehistory, 1, &fr->ts); } - if (iaxs[fr->callno]->last < fr->ts) { + /* It is possible for the pvt structure to go away after we call schedule_delivery */ + if (iaxs[fr->callno] && iaxs[fr->callno]->last < fr->ts) { iaxs[fr->callno]->last = fr->ts; #if 1 if (option_debug && iaxdebug) |