Hi Alastair, On Mon, Oct 28, 2024 at 06:47:52AM +0000, Alastair McKinstry wrote: > I think going with the Ubuntu solution for now looks like the most pragmatic > answer.
I think the Ubuntu answer is a latent security issue. As noted on irc, it can be made safe by also adding a compile time assertion that sizeof(wchar_t) == sizeof(FriBidiChar). Consider also adding: typedef char static_assertion_wchar_size[(sizeof(wchar_t) == sizeof(FriBidiChar))?1:-1]; Once you do this, the cast can no longer cause an out-of-bounds access without failing compilation. Helmut