From 2b630bc22e6bff22a19d99152e36eeb0f678026b Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 31 Jan 2019 12:56:07 +0100 Subject: [PATCH] systemd: define strerror() in sd-adapt header to nm_strerror_native() Systemd uses strerror() extensively. Patch the function to use the thread-safe nm_strerror_native(). --- shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h | 5 +++++ src/tests/test-systemd.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h index a4f9ecd2e..06008ce86 100644 --- a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h +++ b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h @@ -27,6 +27,11 @@ /*****************************************************************************/ +/* strerror() is not thread-safe. Patch systemd-sources via a define. */ +#define strerror(errsv) nm_strerror_native (errsv) + +/*****************************************************************************/ + static inline NMLogLevel _slog_level_to_nm (int slevel) { diff --git a/src/tests/test-systemd.c b/src/tests/test-systemd.c index 0c2425255..91edcab24 100644 --- a/src/tests/test-systemd.c +++ b/src/tests/test-systemd.c @@ -80,6 +80,12 @@ nm_logging_setup (const char *level, return TRUE; } +const char * +nm_strerror_native (int errsv) +{ + return g_strerror (errsv); +} + /*****************************************************************************/ static void