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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ccid_slot_fsm: Avoid segfault on accessing slots 1..7<br><br>Change-Id: I3e3a20fad64ecbe3ccc50021da314901318b9c1d<br>---<br>M ccid_common/ccid_slot_fsm.c<br>1 file changed, 11 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c</span><br><span>index ce59474..59071de 100644</span><br><span>--- a/ccid_common/ccid_slot_fsm.c</span><br><span>+++ b/ccid_common/ccid_slot_fsm.c</span><br><span>@@ -166,11 +166,13 @@</span><br><span>        struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs);</span><br><span>        struct card_uart *cuart = talloc_zero(ctx, struct card_uart);</span><br><span>        char id_buf[16];</span><br><span style="color: hsl(0, 100%, 40%);">-        char *devname = "/dev/null";</span><br><span style="color: hsl(120, 100%, 40%);">+        char *devname = NULL;</span><br><span>        int rc;</span><br><span> </span><br><span>  LOGPCS(cs, LOGL_DEBUG, "%s\n", __func__);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+       /* HACK: make this in some way configurable so it works both in the firmware</span><br><span style="color: hsl(120, 100%, 40%);">+   * and on the host (functionfs) */</span><br><span>   if (cs->slot_nr == 0) {</span><br><span>           cs->icc_present = true;</span><br><span>           devname = "/dev/ttyUSB5";</span><br><span>@@ -180,13 +182,17 @@</span><br><span>          return -ENOMEM;</span><br><span> </span><br><span>  snprintf(id_buf, sizeof(id_buf), "SIM%d", cs->slot_nr);</span><br><span style="color: hsl(0, 100%, 40%);">-    rc = card_uart_open(cuart, "tty", devname);</span><br><span style="color: hsl(0, 100%, 40%);">-   if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                talloc_free(cuart);</span><br><span style="color: hsl(0, 100%, 40%);">-             return rc;</span><br><span style="color: hsl(120, 100%, 40%);">+    if (devname) {</span><br><span style="color: hsl(120, 100%, 40%);">+                rc = card_uart_open(cuart, "tty", devname);</span><br><span style="color: hsl(120, 100%, 40%);">+         if (rc < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+                      LOGPCS(cs, LOGL_ERROR, "Cannot open UART %s: %d\n", devname, rc);</span><br><span style="color: hsl(120, 100%, 40%);">+                   talloc_free(cuart);</span><br><span style="color: hsl(120, 100%, 40%);">+                   return rc;</span><br><span style="color: hsl(120, 100%, 40%);">+            }</span><br><span>    }</span><br><span>    ss->fi = iso7816_fsm_alloc(ctx, LOGL_DEBUG, id_buf, cuart, iso_fsm_clot_user_cb, ss);</span><br><span>     if (!ss->fi) {</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPCS(cs, LOGL_ERROR, "Cannot allocate ISO FSM\n");</span><br><span>               talloc_free(cuart);</span><br><span>          return -1;</span><br><span>   }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15752">change 15752</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/osmo-ccid-firmware/+/15752"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ccid-firmware </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3e3a20fad64ecbe3ccc50021da314901318b9c1d </div>
<div style="display:none"> Gerrit-Change-Number: 15752 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>