Malloc deve retornar NULL e definir errno se segmento de dados acabar (mesmo com overcommit ativado).
Veja o manual de chamada do sistema brk (2) . Malloc chama brk para estender o segmento de dados. brk falha e configura errno para ENOMEM se a extensão do segmento falhar por qualquer motivo.