> -- Иван Горячев писал(а):
> Этот код не вызывает ошибок даже если tun == NULL, и не является сам по себе уязвимостью.

Бред какой-то. Этот код (обращение на чтение по нулевому адресу + небольшое смещение) вызовет исключение в любой современной популярной ОС. Не говоря уже о том, что с точки зрения языка этот код некорректен (undefined behavior), поэтому реакция компилятора по выкидываниюпоследующейпроверки на NULL вполне адекватна. Эта проверка не имеет смысла, потому что если tun == NULL, то до этой проверки дело просто не дойдет.

> -- Иван Горячев писал(а):
> Таким образом, ничто не мешает злоумышленнику заставить ядро обращаться по нулевому адресу. Имеем классическую null pointer dereference vulnerability.

Ужас какойПоследний раз я такую "vulnerability" видел в ДОСе - там как раз по нулевому адресу находился вектор перываний и если туда записать всякий мусор...

> -- Иван Горячев писал(а):
> Еще одна известная особенность языка C++ может усугубить проблемы, возникающие при вызове delete this.

Гхм. Это проблема всех языков с ручным управлением памятью... Причем здесь C++?