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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add zero termination char to received ctrl cmd message<br><br>The terminating NULL byte is not part of the ctrl message, so add it<br>afterwards.<br><br>Change-Id: Ieaa9b3e2516d301ba45b6f3ec61870e928ed0cc6<br>---<br>M simple_ctrl.c<br>1 file changed, 7 insertions(+), 4 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/simple_ctrl.c b/simple_ctrl.c</span><br><span>index deab12c..2261323 100644</span><br><span>--- a/simple_ctrl.c</span><br><span>+++ b/simple_ctrl.c</span><br><span>@@ -173,7 +173,7 @@</span><br><span>   }</span><br><span>    len = ntohs(hh.len);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        resp = msgb_alloc(len+sizeof(hh), "CTRL Rx");</span><br><span style="color: hsl(120, 100%, 40%);">+       resp = msgb_alloc(len+sizeof(hh)+1, "CTRL Rx");</span><br><span>    if (!resp)</span><br><span>           return NULL;</span><br><span>         resp->l1h = msgb_put(resp, sizeof(hh));</span><br><span>@@ -196,6 +196,7 @@</span><br><span>     struct msgb *resp;</span><br><span>   struct ipaccess_head *ih;</span><br><span>    struct ipaccess_head_ext *ihe;</span><br><span style="color: hsl(120, 100%, 40%);">+        unsigned char *tmp;</span><br><span> </span><br><span>      /* loop until we've received a CTRL message */</span><br><span>   while (true) {</span><br><span>@@ -207,9 +208,12 @@</span><br><span>                if (ih->proto == IPAC_PROTO_OSMO)</span><br><span>                         resp->l2h = resp->l2h+1;</span><br><span>               ihe = (struct ipaccess_head_ext*) (resp->l1h + sizeof(*ih));</span><br><span style="color: hsl(0, 100%, 40%);">-         if (ih->proto == IPAC_PROTO_OSMO && ihe->proto == IPAC_PROTO_EXT_CTRL)</span><br><span style="color: hsl(120, 100%, 40%);">+          if (ih->proto == IPAC_PROTO_OSMO && ihe->proto == IPAC_PROTO_EXT_CTRL) {</span><br><span style="color: hsl(120, 100%, 40%);">+                        /* Ensure data is NULL terminated */</span><br><span style="color: hsl(120, 100%, 40%);">+                  tmp = msgb_put(resp, 1);</span><br><span style="color: hsl(120, 100%, 40%);">+                      *tmp = '\0';</span><br><span>                         return resp;</span><br><span style="color: hsl(0, 100%, 40%);">-            else {</span><br><span style="color: hsl(120, 100%, 40%);">+                } else {</span><br><span>                     fprintf(stderr, "unknown IPA message %s\n", msgb_hexdump(resp));</span><br><span>                   msgb_free(resp);</span><br><span>             }</span><br><span>@@ -246,7 +250,6 @@</span><br><span>              return NULL;</span><br><span> </span><br><span>     /* FIXME: ignore any TRAP */</span><br><span style="color: hsl(0, 100%, 40%);">-    /* FIXME: check string is zero-terminated */</span><br><span>         return simple_ctrl_receive(sch);</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9453">change 9453</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/9453"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-sysmon </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Ieaa9b3e2516d301ba45b6f3ec61870e928ed0cc6 </div>
<div style="display:none"> Gerrit-Change-Number: 9453 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>