summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-07-25 17:13:24 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-07-25 17:13:24 +0000
commitdd1cd37f11eef9551a2b70cd96fd28ae0f352051 (patch)
tree80cbdd63c2cdd6df8cecd3d266fe8baf347974ff /channels
parentcd17218e59dae33ff67121bf960b98a30a0e9517 (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-xchannels/chan_sip.c7
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)) {