Bonjour,
j'ai implémenté une skiplist pour un devoir maison, Valgrind détecte des fuite mémoires, comme si j'écrasai un pointeur alloué :
Code :
- typedef struct s_Node *Node;
- struct s_Node {
- unsigned int nblevels;
- int value;
- Node *prevs;
- Node *nexts;
- };
- Node node_create(unsigned int nblevels, int value) {
- Node node = (Node) malloc(sizeof(struct s_Node));
- checkPointer(node);
- node->nblevels = nblevels;
- node->value = value;
- node->nexts = (Node *) malloc(nblevels * sizeof(Node)); //ICI
- checkPointer(node->nexts);
- node->prevs = (Node *) malloc(nblevels * sizeof(Node)); //ICI
- checkPointer(node->prevs);
- for (unsigned int i = 0; i < nblevels; ++i) {
- node->nexts[i] = node;
- node->prevs[i] = node;
- }
- return node;
- }
|
node->nexts et node-> prevs sont pas encore alloué donc je vois pas de problème, quelqu'un à une idée ?
Merci d'avance
Message édité par Loulou4672 le 28-03-2016 à 13:14:19