<p> Attention is currently required from: George Joseph. </p>
<p><a href="https://gerrit.asterisk.org/c/asterisk/+/18529">View Change</a></p><p>2 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="null">File apps/app_festival.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/+/18529/comment/d0ac1749_458ebc33">Patch Set #1, Line 436:</a> <code style="font-family:monospace,monospace">       if (strlen(cachedir) + sizeof(MD5Hex) + 1 <= MAXFESTLEN && (usecache == -1)) {</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">> Not sure this is the right fix here? Two possible problems: […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">For 1) I'm saying strlen(x) will always be at least one less (possibly more) than sizeof(x). That could be the difference in the check here being true/false when it wasn't previously. That said if MD5Hex is guaranteed to always be 32 bytes here then it may be a moot point in this scenario.</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File include/asterisk/strings.h:</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/+/18529/comment/5122384d_26aace90">Patch Set #1, Line 396:</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;">        volatile size_t sz = size;<br>    volatile char *sp = (char *)src;<br></pre></blockquote></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">> I _think_ this breaks ABI as this is an inline function defined in a header, so altering stuff her […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Not sure tbh. Here's how I understand it though. The inline function is compiled into the binary at let's say location 1 through 5. Struct X exists at 6-10. Changing the inline function makes it now take locations 1-7, which then shifts everything else down and ABI is now broken.</p><p style="white-space: pre-wrap; word-wrap: break-word;">Also, I believe "inline" is just a hint to the compiler and the compiler can ignore it if it wants to, so if what you say is true I'm not sure we can always guarantee it.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/18529">change 18529</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/+/18529"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 16 </div>
<div style="display:none"> Gerrit-Change-Id: Ia081ca1bcfb329df6487c4660aaf1944309eb570 </div>
<div style="display:none"> Gerrit-Change-Number: 18529 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Michael Bradeen <mbradeen@sangoma.com> </div>
<div style="display:none"> Gerrit-Attention: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Thu, 05 May 2022 14:34:32 +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: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Comment-In-Reply-To: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>