• [^] # Re: merci :)))

    Posté par . En réponse à la dépêche wu-imapd. Évalué à 0.

    Oui ben on a donc la meme definition de tampon "dynamique".

    Ca ne resoud RIEN DU TOUT.

    Un tampon dynamique c'est super si tu ne te trompes jamais dans le calcul de la taille de l'allocation, si tu peux te permettre de faire des allocations toutes les secondes(et un malloc est une des operations les plus lentes), ...

    Le probleme que t'as du mal a voir il me semble est le suivant:

    1) Cas avec tampon dynamique et strcpy
    Tu alloues un buffer dynamiquement, tu calcules sa taille comme tu veux, et apres tu fais ta copie SANS AUCUNE VERIFICATION A CE STAGE

    Resultat: Si tu t'es gourre dans la taille du buffer, tu t'ecrases

    2) Cas avec tampon dynamique et strncpy
    Tu alloues un buffer dynamique, tu calcules sa taille comme tu veux, et apres tu fais ta copies en specifiant la taille du buffer.

    Resultat: TU ES SUR DE NE PAS DEPASSER LE BUFFER, meme si tu t'es gourre dans le calcul de la taille du buffer, meme si un autre thread change la taille du string,..., car quoi qu'il arrive, tu n'ecriras pas plus loin que la fin du buffer.

    Non serieux, tu peux demander a n'importe quel gourou securite, si tu lui dis les mots strcpy et strcat, il va prendre un air affole et appeler le ciel a l'aide. Chez nous utiliser strcpy ou strcat c'est considere "bad practice", et dans tout element un tant soit-peu sensible de l'OS(service, truc qui a des droits eleves,...) c'est un BUG, et on est loin d'etre les seuls a faire de la sorte.