diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-07-25 17:13:24 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-07-25 17:13:24 +0000 |
commit | dd1cd37f11eef9551a2b70cd96fd28ae0f352051 (patch) | |
tree | 80cbdd63c2cdd6df8cecd3d266fe8baf347974ff /channels | |
parent | cd17218e59dae33ff67121bf960b98a30a0e9517 (diff) |
ensure SIP_HEADER does not segfault when called on hung-up channels (bug #4756, different fix than posted patch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_sip.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 07c8607fe..d7fe50010 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -8158,6 +8158,13 @@ static char *func_header_read(struct ast_channel *chan, char *cmd, char *data, c } p = chan->tech_pvt; + + /* If there is no private structure, this channel is no longer alive */ + if (!p) { + ast_mutex_unlock(&chan->lock); + return NULL; + } + content = get_header(&p->initreq, data); if (ast_strlen_zero(content)) { |