au minimum :

ligne 22 : allocation d'un buffer de 1 char, insuffisant pour contenir une string terminée par '\0'

ligne 24 : utilisation de scanf donc pas de vérification de longueur par rapport...