]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Allocate a SIP refer structure when performing a transfer using BYE with Also so...
authorJoshua Colp <jcolp@digium.com>
Wed, 2 Jan 2008 20:24:09 +0000 (20:24 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 2 Jan 2008 20:24:09 +0000 (20:24 +0000)
(closes issue #11637)
Reported by: greyvoip

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@95946 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 2835aebe62c8ee6aa52c5d9895cf69ef518299d0..cd09992d2e4733fe2a021dfa5405dd21174a270c 100644 (file)
@@ -9048,9 +9048,14 @@ static int get_also_info(struct sip_pvt *p, struct sip_request *oreq)
 {
        char tmp[256] = "", *c, *a;
        struct sip_request *req = oreq ? oreq : &p->initreq;
-       struct sip_refer *referdata = p->refer;
+       struct sip_refer *referdata = NULL;
        const char *transfer_context = NULL;
        
+       if (!p->refer && !sip_refer_allocate(p))
+               return -1;
+
+       referdata = p->refer;
+
        ast_copy_string(tmp, get_header(req, "Also"), sizeof(tmp));
        c = get_in_brackets(tmp);