LINUX.ORG.RU

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

Исправление im-0, (текущая версия) :

int size = ftell(input); // узнаём смещение в конце = размер файла

Что будет, если файл изменится между получением размера и чтением?

char data[size];

Stack overflow. Нельзя так делать, если железобетонно не гарантируется, что у size есть верхняя граница, и что она достаточно мала, чтобы на стеке хватило места.

Исходная версия im-0, :

int size = ftell(input); // узнаём смещение в конце = размер файла

Что будет, если файл изменится между получением размера и чтением?

char data[size];

Stack overflow. Нельзя так делать, если железобетонно не гарантируется, что у size есть верхняя граница, и что она достаточно мала, чтобы на стеке хватило места.