Des variables repoussées produisent-elles des failles ?
Fermé
tatsuyad
Messages postés
74
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
3 avril 2016
-
Modifié par Whismeril le 22/08/2015 à 08:31
lefilsdelaterre Messages postés 11 Date d'inscription vendredi 21 août 2015 Statut Membre Dernière intervention 27 août 2015 - 22 août 2015 à 11:59
lefilsdelaterre Messages postés 11 Date d'inscription vendredi 21 août 2015 Statut Membre Dernière intervention 27 août 2015 - 22 août 2015 à 11:59
A voir également:
- Des variables repoussées produisent-elles des failles ?
- Failles web - Accueil - Piratage
- Javascript additionner deux variables ✓ - Forum Javascript
- Algorithme permutation 3 variables ✓ - Forum C
- Afficher des variables dans un QLabel ✓ - Forum Programmation
- Visibilite des variables dans un shell - Forum Shell
1 réponse
lefilsdelaterre
Messages postés
11
Date d'inscription
vendredi 21 août 2015
Statut
Membre
Dernière intervention
27 août 2015
1
22 août 2015 à 10:41
22 août 2015 à 10:41
Bonjour,
Perl n'a aucune raison de grogner. Les arguments envoyés à la fonction sont tous les trois stockés automatiquement dans le tableau @_, et rien n'oblige à tous les utiliser par la suite.
Dans ton code, tu choisis simplement de recopier les deux premiers arguments et de ne pas utiliser le troisième.
Perl n'a aucune raison de grogner. Les arguments envoyés à la fonction sont tous les trois stockés automatiquement dans le tableau @_, et rien n'oblige à tous les utiliser par la suite.
Dans ton code, tu choisis simplement de recopier les deux premiers arguments et de ne pas utiliser le troisième.
22 août 2015 à 10:58
Moi,qui ne connaissait que C et Java,suis bien impressionné.Avec $_,Perl
a deux variables intarissables qui pourraient protéger notre petit mimi mémoire
de l'overflow misérable ?
Merci monsieur pour m'avoir aidé !
22 août 2015 à 11:59
On peut très bien se mettre à la place d'un utilisateur qui envoie trois arguments en espérant qu'ils soient tous les trois traités, or la fonction n'en utilise que 2. Le programme ne montre aucun signe de cette lacune, et à débugger ça peut vite devenir un calvaire.
En C on devrait par exemple envoyer deux arguments : l'un pour le nombre de chaînes à traiter, et le deuxième un tableau de pointeurs, chacun correspondant à l'adresse d'une chaîne. L'affichage se ferait alors dans une boucle.
Cela donnerait quelque chose comme ça :