Normalement, si un pointeur est libéré deux fois, c'est un double gratuit. Par exemple,Est-ce un double gratuit en C?
char *ptr;
ptr=malloc(5 * sizeof(*ptr));
free(ptr);
free(ptr);
Le code ci-dessus est considéré comme étant sans double. Est-ce que ce qui suit est également considéré comme double gratuit?
char *ptr;
char *ptr1;
ptr=malloc(5 * sizeof(*ptr));
ptr1=ptr;
free(ptr);
free(ptr1);
Merci.
Le deuxième exemple a le pointeur dangling –