Некоторые биты в malloc(0) в C могут возвращать NULL ( utcc.utoronto.ca )
Давным-давно я работал с системой, в которой malloc(0) увеличивал счетчик и возвращал -1.
free(-1) уменьшил счетчик.
Таким образом, вы сможете проверить наличие утечек :p
Не соответствует требованиям, поскольку `malloc(0)` указывает на возврат уникального указателя, если он не равен `NULL`.
На большинстве платформ реализация могла бы просто возвращать адреса из верхней половины адресного пространства. Однако на 32-битных платформах не требуется много времени, чтобы исчерпать такое адресное пространство, и вы не хотите тратить место на распределитель битовой карты. Я полагаю, вы могли бы просто использовать счетчик для каждой области 64 КБ или что-то в этом роде, так что вы можете повторно использовать его, если было освобождено нужное количество элементов…
Source: news.ycombinator.com