LINUX.ORG.RU

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

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

char *s = malloc(N);
s[N - 1] = 0;

При больших N и доле везения может и не упасть.

А даже то что падает может упасть в совершенно неподходящий момент.

Переопределить malloc, чтобы делал abort при NULL звучит гораздо разумнее.

Падение при NULL это как ремень безопасности. Спасает, но с оговорками. И уж точно врезаться в столб с мыслью «я же пристегнут» не стоит.

Исправление KivApple, :

char *s = malloc(N);
s[N - 1] = 0;

При больших N и доле везения может и не упасть.

А даже то что падает может упасть в совершенно неподходящий момент.

Переопределить malloc, чтобы делал abort при NULL звучит гораздо разумнее.

Падение при null это как ремень безопасности. Спасает, но с оговорками. И уж точно врезаться в столб с мыслью «я же пристегнут» не стоит.

Исходная версия KivApple, :

char *s = malloc(N); s[N - 1] = 0;

При больших N и доле везения может и не упасть.

А даже то что падает может упасть в совершенно неподходящий момент.

Переопределить malloc, чтобы делал abort при NULL звучит гораздо разумнее.