diff options
| author | jvoisin | 2025-10-28 21:33:16 +0100 |
|---|---|---|
| committer | jvoisin | 2025-10-28 21:54:31 +0100 |
| commit | 89b628d34b1ef0423df35a72901daa194d7db956 (patch) | |
| tree | 2163e0ab79f62766a09c7057ccb508f6c60a064a | |
| parent | a826c69242b0e87a4e5d6817b7e46ab3cdbe6284 (diff) | |
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.
| -rw-r--r-- | .github/workflows/testsuite.yaml | 1 | ||||
| -rw-r--r-- | tests/test_fgetws_dynamic.c | 2 | ||||
| -rw-r--r-- | tests/test_fgetws_static.c | 2 | ||||
| -rw-r--r-- | tests/test_wcscat_static_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wcscpy_static_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wcsncat_static_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wcsncpy_static_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wmemcpy_dynamic_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wmemcpy_static_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wmemmove_dynamic_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wmemmove_static_write.c | 4 | ||||
| -rw-r--r-- | tests/test_wmemset_dynamic.c | 4 | ||||
| -rw-r--r-- | 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: | |||
| 74 | run: make CFLAGS=-DUSE_NATIVE_CHK -C tests clang | 74 | run: make CFLAGS=-DUSE_NATIVE_CHK -C tests clang |
| 75 | - name: Building and running without native chk | 75 | - name: Building and running without native chk |
| 76 | if: ${{ matrix.use_native_chk == false }} | 76 | if: ${{ matrix.use_native_chk == false }} |
| 77 | continue-on-error: true | ||
| 78 | shell: bash | 77 | shell: bash |
| 79 | run: | | 78 | run: | |
| 80 | make -C tests clean clang run > ./results.txt | 79 | 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) { | |||
| 10 | fgetws(buffer, argc, NULL); | 10 | fgetws(buffer, argc, NULL); |
| 11 | CHK_FAIL_END | 11 | CHK_FAIL_END |
| 12 | 12 | ||
| 13 | putwchar(buffer[0]); | 13 | printf("%ls\n", buffer); |
| 14 | return ret; | 14 | return ret; |
| 15 | } | 15 | } |
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) { | |||
| 10 | fgetws(buffer, 14, NULL); | 10 | fgetws(buffer, 14, NULL); |
| 11 | CHK_FAIL_END | 11 | CHK_FAIL_END |
| 12 | 12 | ||
| 13 | putwchar(buffer[0]); | 13 | printf("%ls\n", buffer); |
| 14 | return ret; | 14 | return ret; |
| 15 | } | 15 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[8] = {0}; | 6 | wchar_t buffer[8] = {0}; |
| 7 | wcscat(buffer, L"α"); | 7 | wcscat(buffer, L"α"); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wcscat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω"); | 11 | wcscat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω"); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[8] = {0}; | 6 | wchar_t buffer[8] = {0}; |
| 7 | wcscpy(buffer, L"α"); | 7 | wcscpy(buffer, L"α"); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wcscpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω"); | 11 | wcscpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω"); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[8] = {0}; | 6 | wchar_t buffer[8] = {0}; |
| 7 | wcsncat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); | 7 | wcsncat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wcsncat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); | 11 | wcsncat(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[8] = {0}; | 6 | wchar_t buffer[8] = {0}; |
| 7 | wcsncpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1); | 7 | wcsncpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wcsncpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); | 11 | wcsncpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[2] = {0}; | 6 | wchar_t buffer[2] = {0}; |
| 7 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); | 7 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", argc); | 11 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", argc); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[2] = {0}; | 6 | wchar_t buffer[2] = {0}; |
| 7 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); | 7 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); | 11 | wmemcpy(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[2] = {0}; | 6 | wchar_t buffer[2] = {0}; |
| 7 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); | 7 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", argc); | 11 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", argc); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[2] = {0}; | 6 | wchar_t buffer[2] = {0}; |
| 7 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); | 7 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 2); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); | 11 | wmemmove(buffer, L"αβγδεζηθικλμνξοπρστυφχψω", 1337); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[4] = {0}; | 6 | wchar_t buffer[4] = {0}; |
| 7 | wmemset(buffer, L'A', 3); | 7 | wmemset(buffer, L'A', 3); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wmemset(buffer, L'B', argc); | 11 | wmemset(buffer, L'B', argc); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
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 @@ | |||
| 5 | int main(int argc, char** argv) { | 5 | int main(int argc, char** argv) { |
| 6 | wchar_t buffer[4] = {0}; | 6 | wchar_t buffer[4] = {0}; |
| 7 | wmemset(buffer, L'A', 3); | 7 | wmemset(buffer, L'A', 3); |
| 8 | fputws(buffer, stdout); | 8 | printf("%ls\n", buffer); |
| 9 | 9 | ||
| 10 | CHK_FAIL_START | 10 | CHK_FAIL_START |
| 11 | wmemset(buffer, L'B', 16); | 11 | wmemset(buffer, L'B', 16); |
| 12 | CHK_FAIL_END | 12 | CHK_FAIL_END |
| 13 | 13 | ||
| 14 | fputws(buffer, stdout); | 14 | printf("%ls\n", buffer); |
| 15 | return ret; | 15 | return ret; |
| 16 | } | 16 | } |
