]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 95946 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Wed, 2 Jan 2008 20:26:25 +0000 (20:26 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 2 Jan 2008 20:26:25 +0000 (20:26 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r95946 | file | 2008-01-02 16:24:09 -0400 (Wed, 02 Jan 2008) | 4 lines

Allocate a SIP refer structure when performing a transfer using BYE with Also so that the transfer information is properly stored. (AST-2008-001)
(closes issue #11637)
Reported by: greyvoip

........

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

channels/chan_sip.c

index 2c6aa54819aa1993615846c96c33887df4171012..a2135a21de1c9d1e23f4204ddc3baabf98562b45 100644 (file)
@@ -10034,9 +10034,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);