Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Force C17 standard in qrexec-lib/validator-test.c
GCC 17 defaults to -std=gnu23, which changes type of u8 string constants. This breaks the validator, as qubes_pure_string_safe_for_display expects 'const char *' not 'const unsigned char *'. The specific error message is: validator-test.c:286:48: error: pointer targets in passing argument 1 of ...qubes_pure_string_safe_for_display... differ in signedness [-Werror=pointer-sign] 286 | assert(!qubes_pure_string_safe_for_display(u8"\U0001f3f3", 0)); | ^~~~~~~~~~~~~~ | | | unsigned char * In file included from validator-test.c:6: pure.h:199:48: note: expected ...const char *... but argument is of type ...unsigned char *... 199 | qubes_pure_string_safe_for_display(const char *untrusted_str, | ~~~~~~~~~~~~^~~~~~~~~~~~~ validator-test.c:286:48: error: pointer targets in passing argument 1 of ...qubes_pure_string_safe_for_display... differ in signedness [-Werror=pointer-sign] 286 | assert(!qubes_pure_string_safe_for_display(u8"\U0001f3f3", 0)); | ^~~~~~~~~~~~~~ | | | unsigned char * pure.h:199:48: note: expected ...const char *... but argument is of type ...unsigned char *... 199 | qubes_pure_string_safe_for_display(const char *untrusted_str, | ~~~~~~~~~~~~^~~~~~~~~~~~~ QubesOS/qubes-issues#9807
- Loading branch information