From: Florian Weimer Date: Mon, 23 Dec 2024 12:57:55 +0000 (+0100) Subject: support: Add support_record_failure_barrier X-Git-Tag: archive/raspbian/2.31-13+rpi1+deb11u13^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=01663d60fbd56d3d4f0f94495ab3962bab5bfeb0;p=glibc.git support: Add support_record_failure_barrier This can be used to stop execution after a TEST_COMPARE_BLOB failure, for example. (cherry picked from commit d0b8aa6de4529231fadfe604ac2c434e559c2d9e) Gbp-Pq: Topic any Gbp-Pq: Name local-CVE-2025-4802-1.diff --- diff --git a/support/check.h b/support/check.h index 77d1d1e14..42ce87db6 100644 --- a/support/check.h +++ b/support/check.h @@ -187,6 +187,9 @@ void support_record_failure_reset (void); failures or not. */ int support_record_failure_is_failed (void); +/* Terminate the process if any failures have been encountered so far. */ +void support_record_failure_barrier (void); + __END_DECLS #endif /* SUPPORT_CHECK_H */ diff --git a/support/support_record_failure.c b/support/support_record_failure.c index f766c0623..21b695a84 100644 --- a/support/support_record_failure.c +++ b/support/support_record_failure.c @@ -112,3 +112,13 @@ support_record_failure_is_failed (void) synchronization for reliable test error reporting anyway. */ return __atomic_load_n (&state->failed, __ATOMIC_RELAXED); } + +void +support_record_failure_barrier (void) +{ + if (__atomic_load_n (&state->failed, __ATOMIC_RELAXED)) + { + puts ("error: exiting due to previous errors"); + exit (1); + } +}