path: root/include
diff options
authorNeels Hofmeyr <neels@hofmeyr.de>2018-03-05 15:46:38 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-03-28 19:06:16 +0200
commit3d8b47fc5cbaf37fc86ace23a69c2f99910a0192 (patch)
treee07af9ed3fdba62ffd4926aa764e47bb63df33fc /include
parentd65f3ea18eb08925bec3afc169869ee1a2453c81 (diff)
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
Diffstat (limited to 'include')
1 files changed, 5 insertions, 1 deletions
diff --git a/include/osmocom/core/application.h b/include/osmocom/core/application.h
index 266fa9bb..edf59ed4 100644
--- a/include/osmocom/core/application.h
+++ b/include/osmocom/core/application.h
@@ -1,5 +1,7 @@
#pragma once
+#include <osmocom/core/defs.h>
* \file application.h
* Routines for helping with the osmocom application setup.
@@ -15,6 +17,8 @@ struct log_target;
extern struct log_target *osmo_stderr_target;
void osmo_init_ignore_signals(void);
-int osmo_init_logging(const struct log_info *);
+int osmo_init_logging(const struct log_info *)
+ OSMO_DEPRECATED("use osmo_init_logging2() instead to avoid a NULL talloc ctx");
+int osmo_init_logging2(void *ctx, const struct log_info *log_info);
int osmo_daemonize(void);