aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-03-15 18:13:21 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-03-15 18:13:21 +0000
commita63acaa328b9937677f3f5c4d861889a6e369034 (patch)
tree2cda20606162b031bb61b6b651753001d3939153 /channels
parentfeba0148d14ddb612e097d00ab49de44a70db639 (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
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_iax2.c3
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)