Bonjour à tous!

J'espère que vous allez pouvoir m'aider : Je m'explique.

J'utilise la Glib pour la manipulation de chaine de caractères.

voici le code tout bete :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>
#include <unistd.h>
#include <glib.h>
 
 
int main(int argc, char *argv[])
{
 
printf("glib version : %d.%d.%d\n",
GLIB_MAJOR_VERSION,
GLIB_MINOR_VERSION,
GLIB_MICRO_VERSION);
 
GString *para1;
para1 = g_string_new("papa");
printf("\npara1->str : %s\n", para1->str);
 
g_string_free(para1, TRUE);
 
return 0;
}

Le probleme est que si je lance valgrind -v ./test
il me dit que :
malloc/free: 9 allocs, 1 frees, 4,564 bytes allocated.
Comment vraiment tout liberer?

Merci pour votre aide.

Le truc c'est que dans un programme un peu plus long, j'utilise pas mal de G_string et mon prog aléatoirement fait un SIGSEGV. le fichier core généré est peu explicite mais il y aurait bien un souci de fuite de memoire, d'ou mon interrogation sur ces bytes non desalloués. (la version GLib est la dernière)

MERCI