From 902ba0bc0db50ede3473af576bddd2b6a2f9e326 Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Sun, 18 Sep 2022 17:30:41 +0200 Subject: [PATCH] tests: Only run g_error_new_valist() programmer error test on glibc The musl implementation of vasprintf segfaults with NULL --- glib/tests/error.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/glib/tests/error.c b/glib/tests/error.c index 7ea04ea3ce..fa3a25969d 100644 --- a/glib/tests/error.c +++ b/glib/tests/error.c @@ -123,12 +123,12 @@ static void test_new_valist_invalid_va (gpointer dummy, ...) { -#ifdef __linux__ - /* Only worth testing this on Linux; if other platforms regress on this legacy - * behaviour, we don’t care. In particular, calling g_error_new_valist() with - * a %NULL format will crash on FreeBSD as its implementation of vasprintf() - * is less forgiving than Linux’s. That’s fine: it’s a programmer error in - * either case. */ +#if defined(__linux__) && defined(__GLIBC__) + /* Only worth testing this on Linux with glibc; if other platforms regress on + * this legacy behaviour, we don’t care. In particular, calling + * g_error_new_valist() with a %NULL format will crash on FreeBSD as its + * implementation of vasprintf() is less forgiving than Linux’s. That’s + * fine: it’s a programmer error in either case. */ const struct { GQuark domain; @@ -182,9 +182,9 @@ test_new_valist_invalid_va (gpointer dummy, va_end (ap); } -#else /* if !__linux__ */ - g_test_skip ("g_error_new_valist() programmer error handling is only relevant on Linux"); -#endif /* !__linux__ */ +#else /* if !__linux__ || !__GLIBC__ */ + g_test_skip ("g_error_new_valist() programmer error handling is only relevant on Linux with glibc"); +#endif /* !__linux__ || ! __GLIBC__ */ } static void -- GitLab