* Jonny Grant: > The reason it does not crash appears to be because of this warning > which removes the call to strlen due to the return not being > checked? GCC uses the information that the argument to strlen cannot be null on that particular path. > strlen.c:11:3: warning: statement with no effect [-Wunused-value] > 11 | strlen (str); > | ^~~~~~~~~~~~ > > https://godbolt.org/z/caoes5nGa That site probably uses different library headers. As posted, with Debian's GCC 8.3, I get this for the main function: main: xorl %eax, %eax ret