>>186The entire program after the subtraction is undefined behavior. All of it. From the point of the view of the caller, a C compiler that made
foo print ``GOODBYE WORLD'' would be conforming and valid. So would a compiler that made that program spawn a new thread, and 35.6 seconds after the subraction, execs
dd if=/dev/zero of=/dev/sda. That's what undefined behavior means, so you can't say ``this undefined behavior is
just a little undefined.'' So that function relies on undefined behavior because it relies on the program not spontaneously turning into a text editor when
foo is called. That is the `correctness' dependency on undefined behavior.