kouzdra (kouzdra) wrote,
kouzdra
kouzdra

Моей коллекции идиотских оптимизаций компиляторов С прибыло:

О! Какая прелесть на Хабре попалась:

#include <cstdlib>

typedef int (*Function)();

static Function Do;

static int EraseAll() {
  return system("rm -rf /");
}

void NeverCalled() {
  Do = EraseAll;  
}

int main() {
  return Do();
}


Далее:

clang -O2 ttt.cpp -o ttt && ./ttt
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

Разьяснение конечно я понимаю, но "убивать надо таких оптимизаторов"
Tags: #include
Subscribe

  • Трагедия Курьера

    Вообще же я с интересом уж смотрю на прогрессирующую параноечку в стиле Пинчона и Бразилии Гильяма. Что зарегулировать бардак все равно не выйдет я…

  • Про трагедию курьера спрашивали

    Это аллюзия на пинчоновский Лот 49. Там фигуриурет фейковая пьеса в елизаветиском жанре "трагедия мести" - кишки кровь и прочее под этим названием.…

  • Как мне напомнили

    Я кажется действительно оказался эпизодическим персонажем крыловского "факапа", в котором выведен даже довольно точно. Но там есть одна ошибка,…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 29 comments

  • Трагедия Курьера

    Вообще же я с интересом уж смотрю на прогрессирующую параноечку в стиле Пинчона и Бразилии Гильяма. Что зарегулировать бардак все равно не выйдет я…

  • Про трагедию курьера спрашивали

    Это аллюзия на пинчоновский Лот 49. Там фигуриурет фейковая пьеса в елизаветиском жанре "трагедия мести" - кишки кровь и прочее под этим названием.…

  • Как мне напомнили

    Я кажется действительно оказался эпизодическим персонажем крыловского "факапа", в котором выведен даже довольно точно. Но там есть одна ошибка,…