aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-12-20 00:03:59 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-12-21 23:03:53 +0100
commit3db8ab6df489d39f656cfbbaafa4e29ad2e3830c (patch)
treeea8cb4512a9375b2c3200a4381e8dc884301cd67
parentdf22c9c211de9e79561379f6f816652cbb4218c0 (diff)
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
-rw-r--r--include/osmocom/core/fsm.h8
1 files 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)