<p><a href="https://gerrit.asterisk.org/c/asterisk/+/15727">View Change</a></p><p>2 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.asterisk.org/c/asterisk/+/15727/1/res/res_pjsip_messaging.c">File res/res_pjsip_messaging.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/15727/1/res/res_pjsip_messaging.c@251">Patch Set #1, Line 251:</a> <code style="font-family:monospace,monospace"> domain_start += 12; /* 12 is sizeof("x-to_domain") */</code></p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">To avoid memory allocation and releases of the string "x-to_domain" on each time of function call, the length is fixed, and we have already located it in the previously step.</p></blockquote><p style="white-space: pre-wrap; word-wrap: break-word;">sizeof("...") is evaluated at compile time, so my suggestion will add no runtime overhead.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/15727/1/res/res_pjsip_messaging.c@256">Patch Set #1, Line 256:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;"> tmp_ptr = (char *)ast_malloc(domain_len + 1);<br> strncpy(tmp_ptr, domain_start, domain_len);<br> tmp_ptr[domain_len + 1]= '\0';<br></pre></blockquote></p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">going to rewrite these five line of codes:<br>- tmp_ptr = (char *)ast_malloc(domain_len + 1);<br>- strncpy(tmp_ptr, domain_start, domain_len);<br>- tmp_ptr[domain_len + 1]= '\0';<br>- pj_strdup2(tdata->pool, &uri->host, tmp_ptr);<br>- ast_free(tmp_ptr);</p><p style="white-space: pre-wrap; word-wrap: break-word;">+ if (NULL != (tmp_ptr = ast_strndup(domain_start, domain_len))) {<br>+ pj_strdup2(tdata->pool, &uri->host, tmp_ptr);<br>+ ast_free(tmp_ptr);<br>+ } /* Skip rewriting when ast_strndup failed, moving forward */</p></blockquote><p style="white-space: pre-wrap; word-wrap: break-word;">We do not style our 'if' statements that way, do this instead:</p><pre style="font-family: monospace,monospace; white-space: pre-wrap;"> tmp_ptr = ast_strndup(domain_start, domain_len)<br> if (tmp_ptr) {<br> /* do stuff with tmp_ptr */<br> }</pre></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/15727">change 15727</a>. To unsubscribe, or for help writing mail filters, 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/c/asterisk/+/15727"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 18 </div>
<div style="display:none"> Gerrit-Change-Id: Ib164d5274ffe73db15811d4decfc50e6eddcf80c </div>
<div style="display:none"> Gerrit-Change-Number: 15727 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Yang Chen <yang.chen@linuxe.org> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: Sean Bright <sean@seanbright.com> </div>
<div style="display:none"> Gerrit-CC: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Thu, 22 Apr 2021 17:31:27 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Comment-In-Reply-To: Yang Chen <yang.chen@linuxe.org> </div>
<div style="display:none"> Comment-In-Reply-To: Sean Bright <sean@seanbright.com> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>