@kees From the way I understand the infrastructure was done to allow for C++ needing to zero-initialize non-active union fields. And then it was shown that C23 allowed for the change too. So it was done for C23 too.
Conversation
Notices
-
Embed this notice
pinskia (pinskia@hachyderm.io)'s status on Sunday, 19-Jan-2025 15:19:22 JST pinskia
-
Embed this notice
Kees Cook :tux: (kees@fosstodon.org)'s status on Sunday, 19-Jan-2025 15:19:23 JST Kees Cook :tux:
Well I guess everyone everywhere will want to use -fzero-init-padding-bits=all when updating to GCC15 to avoid regressing their uninitialized variable mitigations... Why in the world would the C standard committee work to make things *less* safe by default??!
Edit: this appears to be a decision on GCC's part and not a new change from the C committee. (See down-thread.)
Haelwenn /элвэн/ :triskell: likes this.
-
Embed this notice