From 1c45ff6b4ce74432e7a4d6f299e962b5c6cd74de Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Sat, 14 Nov 2015 00:35:03 +0100 Subject: [PATCH] Fix recursive loop in _dbus_abort() in case DBUS_FATAL_WARNINGS=1 on windows. _dbus_abort() calls _dbus_print_backtrace() to dump backtrace, which uses dbus_warn() to print out messages. _dbus_warn() calls _dbus_abort() in case DBUS_FATAL_WARNINGS is set to one. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92721 --- dbus/dbus-sysdeps.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index 8b986d5..24b2e11 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -77,7 +77,12 @@ void _dbus_abort (void) { const char *s; + static dbus_bool_t active = FALSE; + + if (active) + return; + active = TRUE; _dbus_print_backtrace (); s = _dbus_getenv ("DBUS_BLOCK_ON_ABORT"); -- 1.8.4.5