Sécurité lors de la déclaration d'un pointeur

Fermé
ana - Modifié le 8 nov. 2019 à 17:37
Tomsuper Messages postés 1926 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 19 août 2020 - 12 nov. 2019 à 10:01
Bonjour,

J'ai ce petit code ou je déclare deux pointeur tableau je veux savoir si juste la déclaration et l'affectation peut donner l'accèes à la memoire reservée par ce pointeur ou c'est après la mauvaise utilisation de malloc qui peut causer le vol de données ou l'injection de mauvaise données.

Mon code C:

void mafunction(int* tab1,  int* tab2,  int len)
    {

    int i;
    for(i = 0; i < len; i++)
        tab1[i] = tab2[i] ;

    }


Merci d'avance.
Configuration: Linux / Chrome 61.0.3163.100

3 réponses

cptIgloo Messages postés 115 Date d'inscription mardi 1 octobre 2019 Statut Membre Dernière intervention 26 octobre 2020 6
8 nov. 2019 à 18:22
Il me semble qu'il n'y a 0 sécurité sur la mémoire qui t'es alloué par le systeme. Tu en fais ce que tu veux. Typiquement si tu vérifie pas la taille du tableau que tu es en train de copier, on peut tres bien t'envoyer un tableau trop grand qui essayera d'insérer des données dans la zone mémoire apres celle réservée à ton premier tableau.

En C, c'est toi qui gère tout ^^ (grand pouvoir, grande responsabilité)
0
Merci pour ta réponse
0
Tomsuper Messages postés 1926 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 19 août 2020 358
12 nov. 2019 à 10:01
Bonjour,

Effectivement, comparé à de la POO, le C ne permet pas de verrouiller les données dans la RAM à l'appel de Malloc.

Tu peux, étant hyper conseiller même, d'allouer ce qu'il faut niveau RAM, ni plus ni moins, afin d'évité des fuites de mémoire. Et de la libéré en temps voulue.

Cordialement
0