Использование результата malloc без проверки на нулевое значение недопустимо в коде, который может быть открыт для использования на платформах, где malloc может дать сбой, на тех, которые могут привести к сбоям и непредсказуемому поведению. Я не могу предвидеть будущее, не знаю, куда пойдет мой код, поэтому я написал бы код с проверками на то, что malloc возвращает ноль - лучше умереть, чем вести себя непредсказуемо!
Стратегии того, что делать в случае сбоя malloc, зависят от типа приложения и степени доверия к библиотекам, которые вы используете. В некоторых ситуациях единственная безопасная вещь - это остановить всю программу.
Идея предварительного распределения известной квоты памяти и распределения в некоторых блоках, следовательно, избежания фактического исчерпания памяти, является хорошей, если использование памяти вашим приложением предсказуемо. Вы можете расширить это до написания собственных подпрограмм управления памятью для использования вашим кодом.