<p>Kevin Harwell <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/8345">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins2: Verified
  Kevin Harwell: Looks good to me, approved; Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">AST-2018-002: Crash with an invalid SDP media format description<br><br>pjproject's media format parsing algorithm failed to catch invalid values.<br>Because of this Asterisk would crash if given an SDP with a invalid media<br>format description.<br><br>When parsing the media format description this patch now properly parses the<br>value and returns an error status if it can't successfully parse/convert the<br>value.<br><br>ASTERISK-27582 #close<br><br>Change-Id: I883b3a4ef85b6972397f7b56bf46c5779c55fdd6<br>---<br>A third-party/pjproject/patches/0070-sdp_media_fmt.patch<br>1 file changed, 19 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/third-party/pjproject/patches/0070-sdp_media_fmt.patch b/third-party/pjproject/patches/0070-sdp_media_fmt.patch<br>new file mode 100644<br>index 0000000..0a0977d<br>--- /dev/null<br>+++ b/third-party/pjproject/patches/0070-sdp_media_fmt.patch<br>@@ -0,0 +1,19 @@<br>+diff --git a/pjmedia/src/pjmedia/sdp.c b/pjmedia/src/pjmedia/sdp.c<br>+index a3dd80b..0a13206 100644<br>+--- a/pjmedia/src/pjmedia/sdp.c<br>++++ b/pjmedia/src/pjmedia/sdp.c<br>+@@ -1516,11 +1516,12 @@ PJ_DEF(pj_status_t) pjmedia_sdp_validate2(const pjmedia_sdp_session *sdp,<br>+              * RTC based programs sends "null" for instant messaging!<br>+           */<br>+          if (pj_isdigit(*m->desc.fmt[j].ptr)) {<br>+-               unsigned pt = pj_strtoul(&m->desc.fmt[j]);<br>++           unsigned long pt;<br>++           pj_status_t status = pj_strtoul3(&m->desc.fmt[j], &pt, 10);<br>+ <br>+           /* Payload type is between 0 and 127. <br>+                */<br>+-         CHECK( pt <= 127, PJMEDIA_SDP_EINPT);<br>++            CHECK( status == PJ_SUCCESS && pt <= 127, PJMEDIA_SDP_EINPT);<br>+ <br>+                 /* If port is not zero, then for each dynamic payload type, an<br>+                * rtpmap attribute must be specified.<br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/8345">change 8345</a>. To unsubscribe, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/8345"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I883b3a4ef85b6972397f7b56bf46c5779c55fdd6 </div>
<div style="display:none"> Gerrit-Change-Number: 8345 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>