История изменений
Исправление
hateyoufeel,
(текущая версия)
:
Это да, надо смотреть на UB в мануале к компилятору а не в абстрактных текстах.
Ну расскажи мне, где именно в доках к clang описано почему именно код здесь вызовет rm -rf:
#include <cstdlib>
typedef int (*Function)();
static Function Do;
static int EraseAll() {
return system(“rm -rf /”);
}
void NeverCalled() {
Do = EraseAll;
}
int main() {
return Do();
}
Исходная версия
hateyoufeel,
:
Это да, надо смотреть на UB в мануале к компилятору а не в абстрактных текстах.
Ну расскажи мне, где именно в доках к clang описано почему именно clang здесь вызовет rm -rf:
#include <cstdlib>
typedef int (*Function)();
static Function Do;
static int EraseAll() {
return system(“rm -rf /”);
}
void NeverCalled() {
Do = EraseAll;
}
int main() {
return Do();
}