laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/36100?usp=email )
Change subject: input/ipaccess: fix regression in ipaccess_bts_handle_ccm() ......................................................................
input/ipaccess: fix regression in ipaccess_bts_handle_ccm()
As stated in a comment in this function, link->line might be NULL:
/* line might not exist if != bsc||bts */ struct e1inp_line *line = link->line;
so we cannot use LOGPIL, which dereferences it unconditionally.
Change-Id: Ic26181b580724a70c2af8a224155430902fe4101 Fixes: a87de3cd "input/ipaccess: Always log with context, if we have any" Related: OS#6379 --- M src/input/ipaccess.c 1 file changed, 24 insertions(+), 6 deletions(-)
Approvals: osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index 22ac0ef..da2f04d 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -894,13 +894,13 @@ if (link->ofd->priv_nr >= E1INP_SIGN_RSL) trx_nr = link->ofd->priv_nr - E1INP_SIGN_RSL;
- LOGPIL(line, DLINP, LOGL_NOTICE, "received ID_GET for unit ID %u/%u/%u\n", - dev->site_id, dev->bts_id, trx_nr); + LOGP(DLINP, LOGL_NOTICE, "received ID_GET for unit ID %u/%u/%u\n", + dev->site_id, dev->bts_id, trx_nr); rmsg = ipa_bts_id_resp(dev, data + 1, len - 1, trx_nr); ret = ipa_send(link->ofd->fd, rmsg->data, rmsg->len); if (ret != rmsg->len) { - LOGPIL(line, DLINP, LOGL_ERROR, "cannot send ID_RESP message. Reason: %s\n", - strerror(errno)); + LOGP(DLINP, LOGL_ERROR, "cannot send ID_RESP message. Reason: %s\n", + strerror(errno)); goto err_rmsg; } msgb_free(rmsg); @@ -909,8 +909,8 @@ rmsg = ipa_bts_id_ack(); ret = ipa_send(link->ofd->fd, rmsg->data, rmsg->len); if (ret != rmsg->len) { - LOGPIL(line, DLINP, LOGL_ERROR, "cannot send ID_ACK message. Reason: %s\n", - strerror(errno)); + LOGP(DLINP, LOGL_ERROR, "cannot send ID_ACK message. Reason: %s\n", + strerror(errno)); goto err_rmsg; } msgb_free(rmsg);