51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
From 902ba0bc0db50ede3473af576bddd2b6a2f9e326 Mon Sep 17 00:00:00 2001
|
||
From: Michal Vasilek <michal@vasilek.cz>
|
||
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
|
||
|