<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/18490">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  fixeria: Looks good to me, approved
  laforge: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf()<br><br>Fix osmo_mi_name_buf() to snprintf() into the buf in *all* cases.<br><br>osmo_mi_name_c() is implemented via osmo_mi_name_buf(), which returns<br>compile-time string constants in special cases. That means that<br>osmo_mi_name_c() does return non-allocated strings in these special cases.<br>The caller of functions like osmo_mi_name_c() must always be able to rely on<br>getting a talloced string, or run a danger of deallocating const pointers.<br><br>Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1<br>---<br>M src/gsm/gsm48.c<br>1 file changed, 5 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c</span><br><span>index 43b10b7..8d0998b 100644</span><br><span>--- a/src/gsm/gsm48.c</span><br><span>+++ b/src/gsm/gsm48.c</span><br><span>@@ -479,9 +479,10 @@</span><br><span>                if (mi_len == GSM48_TMSI_LEN && mi[0] == (0xf0 | GSM_MI_TYPE_TMSI)) {</span><br><span>                        tmsi = osmo_load32be(&mi[1]);</span><br><span>                    snprintf(buf, buf_len, "TMSI-0x%08" PRIX32, tmsi);</span><br><span style="color: hsl(0, 100%, 40%);">-                    return buf;</span><br><span style="color: hsl(120, 100%, 40%);">+           } else {</span><br><span style="color: hsl(120, 100%, 40%);">+                      snprintf(buf, buf_len, "TMSI-invalid");</span><br><span>            }</span><br><span style="color: hsl(0, 100%, 40%);">-               return "TMSI-invalid";</span><br><span style="color: hsl(120, 100%, 40%);">+              return buf;</span><br><span> </span><br><span>      case GSM_MI_TYPE_IMSI:</span><br><span>       case GSM_MI_TYPE_IMEI:</span><br><span>@@ -491,7 +492,8 @@</span><br><span>                 return buf;</span><br><span> </span><br><span>      default:</span><br><span style="color: hsl(0, 100%, 40%);">-                return "unknown";</span><br><span style="color: hsl(120, 100%, 40%);">+           snprintf(buf, buf_len, "unknown");</span><br><span style="color: hsl(120, 100%, 40%);">+          return buf;</span><br><span>  }</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/18490">change 18490</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/c/libosmocore/+/18490"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 </div>
<div style="display:none"> Gerrit-Change-Number: 18490 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>