Misc fixes and improvements from WBTW

J'peux demander pourquoi len+1 ?
C'est pour le `\0` ? Si c'est ça, faut le rajouter à la main, malloc garantit absolument pas que la mémoire allouée est filled de `\0`.

Ça ou le remplacer par un calloc.