neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-pfcp/+/37993?usp=email )
Change subject: coverity CID#313611 ......................................................................
coverity CID#313611
Exit early on NULL m, prevents potential NULL deref further below.
Change-Id: Ic5c87e029fe761b24ef9dcf801376da7b5a8d290 --- M src/libosmo-pfcp/pfcp_msg.c 1 file changed, 10 insertions(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified neels: Looks good to me, approved laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve
diff --git a/src/libosmo-pfcp/pfcp_msg.c b/src/libosmo-pfcp/pfcp_msg.c index 66f6e59..9c73609 100644 --- a/src/libosmo-pfcp/pfcp_msg.c +++ b/src/libosmo-pfcp/pfcp_msg.c @@ -586,8 +586,16 @@ int osmo_pfcp_msg_log_info_buf(char *buf, size_t buflen, const struct osmo_pfcp_msg *m) { struct osmo_strbuf sb = { .buf = buf, .len = buflen }; - struct osmo_fsm_inst *fi = m ? (m->ctx.session_fi ?: m->ctx.peer_fi) : NULL; - enum osmo_pfcp_cause *cause = m ? osmo_pfcp_msg_cause(m) : NULL; + struct osmo_fsm_inst *fi; + enum osmo_pfcp_cause *cause; + + if (!m) { + OSMO_STRBUF_PRINTF(sb, "NULL"); + return sb.chars_needed; + } + + fi = (m->ctx.session_fi ?: m->ctx.peer_fi); + cause = osmo_pfcp_msg_cause(m);
if (fi) OSMO_STRBUF_PRINTF(sb, "%s{%s}: ",