<p>Vadim Yanitskiy has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13489">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">libmsc/db.c: warn user about SMS text truncation<br><br>In general, neither TP-User-Data nor decoded text should be<br>truncated. If the SMSC's database for some reason does contain<br>such weird messages, let's at least let the user know about it.<br><br>Change-Id: I75e852ebe44ba4784572cbffa029e13f0d3c430c<br>---<br>M src/libmsc/db.c<br>1 file changed, 10 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/89/13489/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libmsc/db.c b/src/libmsc/db.c</span><br><span>index bf57ec8..6cd8493 100644</span><br><span>--- a/src/libmsc/db.c</span><br><span>+++ b/src/libmsc/db.c</span><br><span>@@ -229,6 +229,7 @@</span><br><span> {</span><br><span>         const unsigned char *user_data;</span><br><span>      unsigned int user_data_len;</span><br><span style="color: hsl(120, 100%, 40%);">+   unsigned int text_len;</span><br><span>       const char *text;</span><br><span> </span><br><span>        /* Retrieve TP-UDL (User-Data-Length) in octets (regardless of DCS) */</span><br><span>@@ -245,6 +246,15 @@</span><br><span>        user_data = dbi_result_get_binary(result, "user_data");</span><br><span>    memcpy(sms->user_data, user_data, user_data_len);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+      /* Retrieve the text length (excluding '\0') */</span><br><span style="color: hsl(120, 100%, 40%);">+       text_len = dbi_result_get_field_length(result, "text");</span><br><span style="color: hsl(120, 100%, 40%);">+     if (text_len >= sizeof(sms->text)) {</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGP(DDB, LOGL_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+              "SMS text length %u is too big, truncating to %zu\n",</span><br><span style="color: hsl(120, 100%, 40%);">+               text_len, sizeof(sms->text) - 1);</span><br><span style="color: hsl(120, 100%, 40%);">+             /* OSMO_STRLCPY_ARRAY() does truncation for us */</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  /* Retrieve the text parsed from TP-UD (User-Data) */</span><br><span>        text = dbi_result_get_string(result, "text");</span><br><span>      if (text)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13489">change 13489</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/13489"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I75e852ebe44ba4784572cbffa029e13f0d3c430c </div>
<div style="display:none"> Gerrit-Change-Number: 13489 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>