News for hackers. Stuff that matters.
Re:GCC undefined behaviors are getting wild by hxhxhrra on Monday November 28, 2022 @06:54AM (#33772485)
> I don't believe that it does. If the invalid arithmetic proceeds without crashing, and produces a value in the int32_t i variable, then that issue is settled. The subsequent statement should behave according to accessing that value.

You may dislike it, but that is not how UB in C and C++ works. See [1] for a guide to UB in C/C++ that may already have been posted elsewhere here.

It is a common misconception that UB on a particular operation means "undefined result", but that is not the case. UB means there are no constraints whatsoever on the behavior of the program after UB, often referred to as "may delete all your files". See [2] for a real-world demo doing that.

[1] https://blog.regehr.org/archives/213

[2] https://kristerw.blogspot.com/2017/09/why-undefined-behavior...

Re:GCC undefined behaviors are getting wild by kazinator on Monday November 28, 2022 @07:09AM (#33772608)
I should clarify that I believed all that in 1990-something; I've arrived at a more mature professional opinion in the nearly three decades since.