IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

glibc detected double free or corruption


Sujet :

C

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut glibc detected double free or corruption
    Bonjour à tous,
    quand je compile mon programme ya une bizarre erreur qui s'affiche glibc detected double free or corruption]
    je pense que c'est à cause de la fonction suivante :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    int nbrLignesCommunes(ChainonMot const * pc,ChainonMot const * pc2)
    {
    /* Permettra de parcourir les deux liste (FR et AN) */
     ChainonCoord const *pcCoord;
    ChainonCoord const *pcCoord2;
    /* Permet de verifier si le numero de la ligne n'est pas deja compter dans la solution */
    int k;
     
    /* Tableau dynamique */
    int *LigneCommune = (int*) malloc (sizeof(int));
    int nombreDeSolution = 0;
     
     
     
    for(pcCoord = coord_GetPremierC(GetPtrCoordC(pc)) ; pcCoord!=NULL ; pcCoord=coord_GetNextC(pcCoord))
    	{
    	for(pcCoord2 = coord_GetPremierC(GetPtrCoordC(pc2)) ; pcCoord2!=NULL ; pcCoord2=coord_GetNextC(pcCoord2))
    		{
            if (GetLigne(pcCoord) == GetLigne(pcCoord2))
            {
     
                /* Se comportera comme un booleen */
                int nouvelleLigne = 1;
                 if(LigneCommune  == NULL)
                 {
                     printf("!!!!");
                     exit(1);
                }
     
    //
    //            /* On va chercher a savoir si la ligne est deja presente */
                for (k=0 ; k<nombreDeSolution ; k++)
                    if (LigneCommune[k] == GetLigne(pcCoord))
                        nouvelleLigne = 1;
     
    //
                if (nouvelleLigne)
                {
                    LigneCommune[nombreDeSolution] = GetLigne(pcCoord);
                    nombreDeSolution++;
                    int *Temporaire = realloc(LigneCommune, sizeof(int)*(nombreDeSolution + 1));
                    if (Temporaire != NULL)
                    {
                       free(LigneCommune);
                         LigneCommune = Temporaire;
                  }
                    else
                    {
                        printf ("Probleme lors du realloc !");
                        exit(1);
                    }
                }
     
            }
            }
    		}
     
    	return nombreDeSolution;
    }
    car quand je la met en commentaire, tout se passe nikel
    Une idée?
    merci
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/05/2019, 17h27
  2. Réponses: 6
    Dernier message: 06/05/2010, 23h57
  3. Réponses: 6
    Dernier message: 20/03/2009, 10h05
  4. [ProFTPd][glibc detected double free or corruption]
    Par Théolude dans le forum Administration système
    Réponses: 1
    Dernier message: 28/08/2008, 09h19
  5. erreur glibc detected double free or corruption.
    Par Screwt-K dans le forum C++
    Réponses: 1
    Dernier message: 02/07/2007, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo