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

-
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
Afficher la suite 

3 réponses

Messages postés
28
Date d'inscription
mardi 1 octobre 2019
Statut
Administrateur
Dernière intervention
12 novembre 2019
3
0
Merci
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é)
Commenter la réponse de cptIgloo
0
Merci
Merci pour ta réponse
Commenter la réponse de ana
Messages postés
1880
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
12 novembre 2019
265
0
Merci
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
Commenter la réponse de Tomsuper