> -- GUEST писал(а):
> Было уже подчеркнуто, что он делает необоснованные предположения об инициализации. Или этого мало?

Компилятор может делать любые предположения и генерировать любой код в случае undefined behaviour. В данном случае логика опатимизатора вполне понятна - проверка на NULL не имеет смысла, потому что строкой выше указатель был разименован, что возможно только если указатель не NULL. В корректной программе. Некорректные программы компилятор не волнуют. Причем корректность/некорректноть определяется стандартом языка, а не особенностями линуксовог ядра, в котором чтение по нулевому адресу может быть сколько угодно "корректным".