]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
AST-2017-002: Ensure transaction key buffer is large enough.
authorMark Michelson <mmichelson@digium.com>
Thu, 13 Apr 2017 22:16:42 +0000 (17:16 -0500)
committerMatthew Fredrickson <creslin@digium.com>
Fri, 19 May 2017 16:08:52 +0000 (11:08 -0500)
ASTERISK-26938 #close

Change-Id: I266490792fd8896a23be7cb92f316b7e69356413

third-party/pjproject/patches/0059-Ensure-2543-transaction-key-buffer-is-large-enough.patch [new file with mode: 0644]

diff --git a/third-party/pjproject/patches/0059-Ensure-2543-transaction-key-buffer-is-large-enough.patch b/third-party/pjproject/patches/0059-Ensure-2543-transaction-key-buffer-is-large-enough.patch
new file mode 100644 (file)
index 0000000..eb5a7db
--- /dev/null
@@ -0,0 +1,29 @@
+From b5f0f8868363c482a2c4ce343e3ee6ad256b0708 Mon Sep 17 00:00:00 2001
+From: Mark Michelson <mmichelson@digium.com>
+Date: Thu, 13 Apr 2017 16:20:07 -0500
+Subject: [PATCH] Ensure 2543 transaction key buffer is large enough.
+
+The CSeq method length needs to be factored into the allocated buffer
+length. Otherwise, the buffer may not be large enough to accommodate the
+entire key.
+---
+ pjsip/src/pjsip/sip_transaction.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
+index c1750dc..2200d8d 100644
+--- a/pjsip/src/pjsip/sip_transaction.c
++++ b/pjsip/src/pjsip/sip_transaction.c
+@@ -288,7 +288,8 @@ static pj_status_t create_tsx_key_2543( pj_pool_t *pool,
+     host = &rdata->msg_info.via->sent_by.host;
+     /* Calculate length required. */
+-    len_required = 9 +                            /* CSeq number */
++    len_required = method->name.slen +            /* Method */
++                 9 +                      /* CSeq number */
+                  rdata->msg_info.from->tag.slen +   /* From tag. */
+                  rdata->msg_info.cid->id.slen +    /* Call-ID */
+                  host->slen +             /* Via host. */
+-- 
+1.9.1
+