• [^] # Re: Plop

    Posté par . En réponse au message free() or not free() ?. Évalué à 2.

    >Ca confirme donc mon attitude : mettre autant de free qu'il y a de malloc. La parité free/malloc ne garantie en rien qu'il n'y ait pas de leak, car souvent la libération de la memoire se fait a divers endroits suivant le chemin suivi par le code. Le cas typique:
    int foobar()
    {
     void *pt1, *pt2;
     if (!(pt1 = malloc(1))) {
     fprintf(stderr, "holly shit");
     return(-1);
     }
     if (!(pt2 = malloc(1))) {
     fprintf(stderr, "holly shit");
     free(pt1);
     return(-1);
     }
     /* Faire un truc interessant ici */
     free(pt1);
     free(pt2); /* 3 free, mais deux malloc seulement :-) */
     return(0);
    }