From 3d8b47fc5cbaf37fc86ace23a69c2f99910a0192 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 5 Mar 2018 15:46:38 +0100 Subject: fix logging talloc ctx: add osmo_init_logging2() Deprecate osmo_init_logging() for the benefit of adding an explicit talloc context argument to new function osmo_init_logging2(). Pass a ctx to log_init() instead of hardcoded NULL. Before now, *all* of our code uses a NULL ctx for logging, which amounts to talloc "leaks" hit by address sanitizer builds on newer gcc (e.g. gcc 7.3.0 on debian 9). This commit helps fixing "leaks" detected in e.g. osmo-bsc unit tests by a sanitize build with gcc (Debian 7.3.0-12) 7.3.0. Change-Id: I216837780e9405fdaec8059c63d10699c695b360 --- src/application.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/application.c') diff --git a/src/application.c b/src/application.c index 2d237e2c..d912eb72 100644 --- a/src/application.c +++ b/src/application.c @@ -113,6 +113,11 @@ void osmo_init_ignore_signals(void) * creates the default (stderr) logging target. */ int osmo_init_logging(const struct log_info *log_info) +{ + return osmo_init_logging2(NULL, log_info); +} + +int osmo_init_logging2(void *ctx, const struct log_info *log_info) { static int logging_initialized = 0; @@ -120,7 +125,7 @@ int osmo_init_logging(const struct log_info *log_info) return -EEXIST; logging_initialized = 1; - log_init(log_info, NULL); + log_init(log_info, ctx); osmo_stderr_target = log_target_create_stderr(); if (!osmo_stderr_target) return -1; -- cgit v1.2.3