Você aloca memória para o buffer
, mas em que momento ela é liberada? Ou seja, quem faz o free(buffer)
?
Acredito que vc esteja usando esta função várias vezes para ler todas as linhas, certo? Provavelmente em um loop. Como está sendo feito?
Acho que isso já ajuda a saber as causas, não precisa chegar ao ponto de ver o fonte do Linux...