Plusieurs malloc : quid de free ?
Bonjour à tous,
Dans mon programme flex-bison, je fais un malloc sur une variable globale à chaque fois qu'une expression est reconnu, c'est à dire en quelques sortes j'ai ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| variable globale :
char* s;
fonction fct :
if(Condition){
s = malloc(20*sizeof(char));
/* traitement */
}
main :
fct();
free(s); |
Evidement je ne peux passé s en paramètre a la fonction fct, car celle ci est fictive pour illustrer l'exemple, je rappelle que c'est un programme flex-bison.
J'aurais voulu savoir si le seul free de s malgré plusieurs malloc sur s était suffisant ou bien s'il y avait des fuites de mémoire.
Merci de votre aide. ;)