Erreur C : *** glibc detected *** malloc
Anthony
-
Bernard -
Bernard -
Bonjour,
j'ai une erreur a l'execution de mon programm en C. Le message d'erreur est : " *** glibc detected *** malloc : invalide pointer "
L'erreur intervient lors d'un malloc d'une structure que j'ai crée
Voici ma structure:
typedef struct listeChaine
{
int pos;
float score;
char *ali;
struct listeChaine * suivant;
} LISTE;
typedef LISTE *alignments;
est les fonctions :
alignments add_alignment(alignments l, float score, int pos, char *ali, int n){
alignments l2,tmp;
printf(" je suis la \n");
// L'erreur intervient ci-après
l2=(alignments)malloc(sizeof(struct listeChaine)); // create a new alignment
l2->pos=pos;
l2->score=score;
l2->ali=NULL;
l2->suivant = NULL;
tmp = l; // to save the beginning of the linked list
if(l == NULL){ // if it's the first alignment
l = l2;
}else{ // insertion in the end of the list
while(tmp->suivant != NULL)
tmp = tmp->suivant;
tmp->suivant = l2;
}
}
return l;
}
Merci de votre aide
j'ai une erreur a l'execution de mon programm en C. Le message d'erreur est : " *** glibc detected *** malloc : invalide pointer "
L'erreur intervient lors d'un malloc d'une structure que j'ai crée
Voici ma structure:
typedef struct listeChaine
{
int pos;
float score;
char *ali;
struct listeChaine * suivant;
} LISTE;
typedef LISTE *alignments;
est les fonctions :
alignments add_alignment(alignments l, float score, int pos, char *ali, int n){
alignments l2,tmp;
printf(" je suis la \n");
// L'erreur intervient ci-après
l2=(alignments)malloc(sizeof(struct listeChaine)); // create a new alignment
l2->pos=pos;
l2->score=score;
l2->ali=NULL;
l2->suivant = NULL;
tmp = l; // to save the beginning of the linked list
if(l == NULL){ // if it's the first alignment
l = l2;
}else{ // insertion in the end of the list
while(tmp->suivant != NULL)
tmp = tmp->suivant;
tmp->suivant = l2;
}
}
return l;
}
Merci de votre aide
A voir également:
- Erreur C : *** glibc detected *** malloc
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
6 réponses
Chez moi j'ai pas cette erreur (à part l'accolade après le while).
Faut voir comment tu l'utilises cette fonction.
Si tu entres en paramatre pour l une structure LISTE, et que le champs "suivant" n'est pas nul, tu as une erreur de segmentation.
C'est tout ce que j'ai pu voir (j'ai pas beaucoup testé), sinon le malloc se passe bien chez moi.
Faut voir comment tu l'utilises cette fonction.
Si tu entres en paramatre pour l une structure LISTE, et que le champs "suivant" n'est pas nul, tu as une erreur de segmentation.
C'est tout ce que j'ai pu voir (j'ai pas beaucoup testé), sinon le malloc se passe bien chez moi.
Ce qui est bizarre, c'est que j'utilise cette fonction avec une autre liste et ca marche très bien.
En paramètre, je passe une structure dans laquelle j'ai affecté NULL.
Donc au premier passage, il copie le pointeur sur la nouvelle structure crée.
Mais bon c'est pas grave, je vais continuer a chercher...
Merci quand même
En paramètre, je passe une structure dans laquelle j'ai affecté NULL.
Donc au premier passage, il copie le pointeur sur la nouvelle structure crée.
Mais bon c'est pas grave, je vais continuer a chercher...
Merci quand même
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca va pas etre possible de mettre le code ici car j'ai une dizaine de fichier pour faire marcher le prog.
Merci quand même
Merci quand même
Le problème est peut être ailleur que dans le code:
j'ai eu ce problème et en cherchant sur internent j'ai trouvé ce forum:
http://www.linuxquestions.org/questions/showthread.php?threadid=349135
pour cette personne le problème semble venir de la libc,enfin je crois !(je suis pas une masse en anglais) Pour ma part le problème a été résolu en passant l'option -ansi à gcc (je me demmande encore pourquoi ?)
j'ai eu ce problème et en cherchant sur internent j'ai trouvé ce forum:
http://www.linuxquestions.org/questions/showthread.php?threadid=349135
pour cette personne le problème semble venir de la libc,enfin je crois !(je suis pas une masse en anglais) Pour ma part le problème a été résolu en passant l'option -ansi à gcc (je me demmande encore pourquoi ?)