The function declaration was erroneously moved inside this ifdef. This
breaks non glibc builds.
Introduced in :
commit
003f455dab0204dd3f066ecdbea0470035f8181f
Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Date: Thu Apr 13 14:31:33 2023 -0400
Fix: logging: unhandled error in *_FMT macros
Coverity reports:
1508779 Uncaught exception
If the exception is ever thrown, the program will crash.
In lttng::sessiond::rotation_thread::_thread_function(): A C++ exception
is thrown but never caught (CWE-248)
The *_FMT macros, which use fmtlib, don't handle the case where
fmt::format throws. This can happen, in particular, when an invalid
format string is used.
The macros are modified to log the exception and abort.
Change-Id: I5eb3b2a673e224f3c99cae7faece31175084db9d
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
/*
* Version using GNU strerror_r, for linux with appropriate defines.
*/
-const char *error_get_str(int32_t code);
#define PERROR(call, args...) \
do { \
char *_perror_buf; \
} while (0);
#endif
+const char *error_get_str(int32_t code);
+
namespace lttng {
namespace logging {
namespace details {