LINUX.ORG.RU

История изменений

Исправление 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();
}