From 65bdb591816fe5a63bd772bbd9f95161f852b405 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 20 Dec 2018 00:03:59 +0100 Subject: LOGPFSM*: guard against fi == NULL The LOGPFSM macros are in such wide use that they should guard against a NULL fi pointer. In case of NULL, default to subsys = DLGLOBAL, loglevel = LOGL_ERROR and state = "fi=NULL". Change-Id: I9eaf8b7e2cf1e450ae626cb2fc928862008f6233 --- include/osmocom/core/fsm.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 8db8cce3..f1080cde 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -138,11 +138,11 @@ void osmo_fsm_log_addr(bool log_addr); * \param args Format string arguments. */ #define LOGPFSMLSRC(fi, level, caller_file, caller_line, fmt, args...) \ - LOGPSRC((fi)->fsm->log_subsys, level, \ + LOGPSRC((fi) ? (fi)->fsm->log_subsys : DLGLOBAL, level, \ caller_file, caller_line, \ "%s{%s}: " fmt, \ osmo_fsm_inst_name(fi), \ - osmo_fsm_state_name((fi)->fsm, (fi)->state), \ + (fi) ? osmo_fsm_state_name((fi)->fsm, (fi)->state) : "fi=NULL", \ ## args) /*! Log using FSM instance's context. @@ -153,7 +153,7 @@ void osmo_fsm_log_addr(bool log_addr); * \param args Format string arguments. */ #define LOGPFSM(fi, fmt, args...) \ - LOGPFSML(fi, (fi)->log_level, fmt, ## args) + LOGPFSML(fi, (fi) ? (fi)->log_level : LOGL_ERROR, fmt, ## args) /*! Log using FSM instance's context, with explicit source file and line info. * The log level to log on is obtained from the FSM instance. @@ -165,7 +165,7 @@ void osmo_fsm_log_addr(bool log_addr); * \param args Format string arguments. */ #define LOGPFSMSRC(fi, caller_file, caller_line, fmt, args...) \ - LOGPFSMLSRC(fi, (fi)->log_level, \ + LOGPFSMLSRC(fi, (fi) ? (fi)->log_level : LOGL_ERROR, \ caller_file, caller_line, \ fmt, ## args) -- cgit v1.2.3