Salve ho un problema con la malloc e realloc di una struct, se qualche anima pia mi volesse dare una mano gli sarei grato

codice:
struct utente
{
    char *name
}
int main()
{
      struct utente *arrayUtenti;
      arrayUtenti=(struct utente *)malloc(sizeof(struct utente )*2);
      while(....)
      {
                arrayUtenti=(struct utente *)realloc(arrayUtenti,sizeof(arrayUtenti)*k+2); 
		arrayUtenti[k].name=malloc(sizeof(char)+1);
                while(....)
                {
                      	        arrayUtenti[k].name=realloc(arrayUtenti[k].name,sizeof(char)+x+1);
				arrayUtenti[k].name[x]=......;
				x++;
                }
                x=0;
                k++;
       }
}
Il problema è che o va in segmentation fault oppure mi da il memory map e poi abort.

Vi supplico di darmi una mano perchè devo fare un progetto per un esame all'università e non riesco a vedere vie di uscita