• [^] # Re: Reallocation sans free ?

    Posté par . En réponse au message ma j'galère sur un simple free sur un string. Évalué à 3.

    Vous aviez raison pour le calloc... En effet, result peut avoir été alloué au préalable.
    voici le code spécifique à concat dans internal:

    Je vois toujours un calloc qui ferait office de malloc dans ce code, tout en négligeant de libérer le pointeur précédent au préalable.

    • calloc avec une taille d’élément à 1, soit la taille d'un char, c'est un malloc.

    Et il existait (existe?) d'autres calloc douteux que celui de cette fonction.

    *size = len;
    if(!*size)
     *result = calloc(len + 1, sizeof(char));

    Dans cette branche, len vaut 0 quoi qu'il arrive non ?
    Donc, c'est équivalent à malloc(1) ?