From 89b628d34b1ef0423df35a72901daa194d7db956 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Tue, 28 Oct 2025 21:33:16 +0100 Subject: Fix the CI on clang Apparently, clang doesn't like the `putwchar` function for no good reason. Replacing it with `printf` fixes a NULL-ptr deref, so let's do that, as we don't really care about the content of the buffer anyway, only that it's not optimized away. --- .github/workflows/testsuite.yaml | 1 - tests/test_fgetws_dynamic.c | 2 +- tests/test_fgetws_static.c | 2 +- tests/test_wcscat_static_write.c | 4 ++-- tests/test_wcscpy_static_write.c | 4 ++-- tests/test_wcsncat_static_write.c | 4 ++-- tests/test_wcsncpy_static_write.c | 4 ++-- tests/test_wmemcpy_dynamic_write.c | 4 ++-- tests/test_wmemcpy_static_write.c | 4 ++-- tests/test_wmemmove_dynamic_write.c | 4 ++-- tests/test_wmemmove_static_write.c | 4 ++-- tests/test_wmemset_dynamic.c | 4 ++-- tests/test_wmemset_static.c | 4 ++-- 13 files changed, 22 insertions(+), 23 deletions(-) diff --git a/.github/workflows/testsuite.yaml b/.github/workflows/testsuite.yaml index 7870ad1..6ceb3bd 100644 --- a/.github/workflows/testsuite.yaml +++ b/.github/workflows/testsuite.yaml @@ -74,7 +74,6 @@ jobs: run: make CFLAGS=-DUSE_NATIVE_CHK -C tests clang - name: Building and running without native chk if: ${{ matrix.use_native_chk == false }} - continue-on-error: true shell: bash run: | make -C tests clean clang run > ./results.txt diff --git a/tests/test_fgetws_dynamic.c b/tests/test_fgetws_dynamic.c index f5919da..b9700e3 100644 --- a/tests/test_fgetws_dynamic.c +++ b/tests/test_fgetws_dynamic.c @@ -10,6 +10,6 @@ int main(int argc, char** argv) { fgetws(buffer, argc, NULL); CHK_FAIL_END - putwchar(buffer[0]); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_fgetws_static.c b/tests/test_fgetws_static.c index a02653f..361d4f4 100644 --- a/tests/test_fgetws_static.c +++ b/tests/test_fgetws_static.c @@ -10,6 +10,6 @@ int main(int argc, char** argv) { fgetws(buffer, 14, NULL); CHK_FAIL_END - putwchar(buffer[0]); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wcscat_static_write.c b/tests/test_wcscat_static_write.c index c820605..fe00baa 100644 --- a/tests/test_wcscat_static_write.c +++ b/tests/test_wcscat_static_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[8] = {0}; wcscat(buffer, L"α"); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wcscat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω"); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wcscpy_static_write.c b/tests/test_wcscpy_static_write.c index 47b8166..fd4ec78 100644 --- a/tests/test_wcscpy_static_write.c +++ b/tests/test_wcscpy_static_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[8] = {0}; wcscpy(buffer, L"α"); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wcscpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω"); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wcsncat_static_write.c b/tests/test_wcsncat_static_write.c index ae4746e..220d0dd 100644 --- a/tests/test_wcsncat_static_write.c +++ b/tests/test_wcsncat_static_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[8] = {0}; wcsncat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wcsncat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wcsncpy_static_write.c b/tests/test_wcsncpy_static_write.c index 104055a..a347f6c 100644 --- a/tests/test_wcsncpy_static_write.c +++ b/tests/test_wcsncpy_static_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[8] = {0}; wcsncpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wcsncpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wmemcpy_dynamic_write.c b/tests/test_wmemcpy_dynamic_write.c index 91a9d87..c7f5751 100644 --- a/tests/test_wmemcpy_dynamic_write.c +++ b/tests/test_wmemcpy_dynamic_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[2] = {0}; wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", argc); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wmemcpy_static_write.c b/tests/test_wmemcpy_static_write.c index 0c8254e..638d80d 100644 --- a/tests/test_wmemcpy_static_write.c +++ b/tests/test_wmemcpy_static_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[2] = {0}; wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wmemmove_dynamic_write.c b/tests/test_wmemmove_dynamic_write.c index 5df9964..549afe3 100644 --- a/tests/test_wmemmove_dynamic_write.c +++ b/tests/test_wmemmove_dynamic_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[2] = {0}; wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", argc); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wmemmove_static_write.c b/tests/test_wmemmove_static_write.c index 5255e61..7200b95 100644 --- a/tests/test_wmemmove_static_write.c +++ b/tests/test_wmemmove_static_write.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[2] = {0}; wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wmemset_dynamic.c b/tests/test_wmemset_dynamic.c index 72c5eb6..5552bd8 100644 --- a/tests/test_wmemset_dynamic.c +++ b/tests/test_wmemset_dynamic.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[4] = {0}; wmemset(buffer, L'A', 3); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wmemset(buffer, L'B', argc); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } diff --git a/tests/test_wmemset_static.c b/tests/test_wmemset_static.c index 197a478..b09a684 100644 --- a/tests/test_wmemset_static.c +++ b/tests/test_wmemset_static.c @@ -5,12 +5,12 @@ int main(int argc, char** argv) { wchar_t buffer[4] = {0}; wmemset(buffer, L'A', 3); - fputws(buffer, stdout); + printf("%ls\n", buffer); CHK_FAIL_START wmemset(buffer, L'B', 16); CHK_FAIL_END - fputws(buffer, stdout); + printf("%ls\n", buffer); return ret; } -- cgit v1.3