<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/9794">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved; Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">fmt_ti.c: fix: properly pre-clean the output buffer<br><br>Despite it was stated that only the last nibble isn't being<br>written, some other bytes in the middle of the output buffer<br>were uninitialized during the first exectution of a queue.<br><br>The problem was observed with AddressSanitizer enabled.<br><br>Valgrind output:<br><br>  $ valgrind --track-origins=yes \<br>      src/.libs/lt-osmo-gapk \<br>      -i tests/ref-files/hhgttg_part1_5.s16.ti-efr \<br>      -f ti-efr -g rawpcm-s16le \<br>      -o /dev/null -v<br><br> Conditional jump or move depends on uninitialised value(s)<br>    at 0x52728F2: msb_put_bit (utils.h:39)<br>    by 0x52728F2: amr_efr_from_canon (fmt_amr.c:45)<br>    by 0x5270A7D: osmo_gapk_pq_execute (procqueue.c:202)<br>    by 0x40296A: run (app_osmo_gapk.c:650)<br>    by 0x40296A: main (app_osmo_gapk.c:778)<br>  Uninitialised value was created by a heap allocation<br>    at 0x4C2AB80: malloc (in vgpreload_memcheck-amd64-linux.so)<br>    by 0x4E3C2A8: talloc_named_const (in libtalloc.so.2.1.5)<br>    by 0x5270A1B: osmo_gapk_pq_prepare (procqueue.c:180)<br>    by 0x402940: run (app_osmo_gapk.c:645)<br>    by 0x402940: main (app_osmo_gapk.c:778)<br><br>Change-Id: I79df56dde23702b0eac8e8fdbc0efd270cc0ace4<br>Related: OS#2934<br>---<br>M src/fmt_ti.c<br>1 file changed, 2 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/fmt_ti.c b/src/fmt_ti.c</span><br><span>index d7a1ec7..61c0f8c 100644</span><br><span>--- a/src/fmt_ti.c</span><br><span>+++ b/src/fmt_ti.c</span><br><span>@@ -191,7 +191,8 @@</span><br><span> </span><br><span>    assert(src_len == TI_LEN);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  dst[30] = 0x00; /* last nibble won't written, pre-clear it */</span><br><span style="color: hsl(120, 100%, 40%);">+     /* Pre-clear the output buffer */</span><br><span style="color: hsl(120, 100%, 40%);">+     memset(dst, 0x00, EFR_CANON_LEN);</span><br><span> </span><br><span>        for (i=0; i<244; i++) {</span><br><span>           int si = i >= 182 ? i+4 : i;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9794">change 9794</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.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.osmocom.org/9794"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: gapk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I79df56dde23702b0eac8e8fdbc0efd270cc0ace4 </div>
<div style="display:none"> Gerrit-Change-Number: 9794 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: tnt <tnt@246tNt.com> </div>