|
Bas de page | |
---|---|
Auteur | Sujet : free(): invalid pointer 0x40318008! [Résolu] |
darkoli Le Petit Dinosaure Bleu | Je ne comprends pas pourquoi la fonction free() considère cette adresse comme invalide. Mais c'est un appel à la fonction malloc() qui me l'a retourné.
Message édité par darkoli le 13-10-2004 à 13:57:36 --------------- Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html |
Publicité | Posté le 07-10-2004 à 18:25:26 |
Taz bisounours-codeur | 1) utilise efence
|
darkoli Le Petit Dinosaure Bleu |
Ah oui valgrind, je l'avais oublié celui-là ! Je ne pense pas que ce soit un double free. Qu'est que tu veux dire par "corruption massive" ? Message édité par darkoli le 07-10-2004 à 18:34:53 |
Taz bisounours-codeur | bah si t'as un truc dans le décor mais là où il faudrait pas, tu peux te tapper des heap overflow ... |
Taz bisounours-codeur | et sur cette exécution 0x1C531020 était la valeur de ea->lignes ? |
darkoli Le Petit Dinosaure Bleu |
D'après gdb, ce n'est pas la bonne valeur. C'est 0x40318008. Il va falloir que je refasse des tests demain (je ne suis plus au bureau). Au moment où valgrind affiche cet avertissement c'est la première fois que j'alloue la variable et à ce moment là (juste avant) elle est positionné à NULL. Message édité par darkoli le 07-10-2004 à 20:08:48 |
Taz bisounours-codeur | tu peux utiliser les techniques d'empoisonnement pour vérifier que tout est bien initialiser. plutot que de mettre NULL, tu peux y foutre 0xdeadbeef |
el muchacho Comfortably Numb |
Message édité par el muchacho le 08-10-2004 à 21:23:39 |
Joel F Real men use unique_ptr | deadbeef ==> Dead Beef (viande morte) en english, c est un pattern de byte
|
Publicité | Posté le 09-10-2004 à 00:38:01 |
darkoli Le Petit Dinosaure Bleu | J'ai trouvé (la trace de valgrind était plus claire cette fois-ci) !!!
Message édité par darkoli le 13-10-2004 à 13:58:22 --------------- Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html |
Taz bisounours-codeur | t'es sur que t'as pas des merdes d'alignement ? sous Linux, fais tourner dans valgrind |
darkoli Le Petit Dinosaure Bleu |
La seule erreur que m'a signalée valgrind en dehors de ce problème, c'est qu'une variable n'est pas initialisée alors qu'elle est utilisée pour un test. Mais cette variable est initialisée dans une fonction juste avant le test mais valgrind ne le "voit" pas. Message édité par darkoli le 13-10-2004 à 14:55:30 --------------- Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html |
Taz bisounours-codeur | ça coredump à quel endroit sur sparc ? |
el muchacho Comfortably Numb |
|
Taz bisounours-codeur | [Résolu] ? |
el muchacho Comfortably Numb | Je sais pas, j'ai rien compris. Je crois que darkoli essaye de nous dire qe dans son code, on peut tomber dans un branchement où index < 0, et donc tab[index] explose, il aurait du y avoir tab[i] à la place, ou un truc comme ça. Ceci dit, son code, je le sens pas. Message édité par el muchacho le 15-10-2004 à 21:13:44 |
darkoli Le Petit Dinosaure Bleu |
Message édité par darkoli le 15-10-2004 à 21:59:38 --------------- Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html |
darkoli Le Petit Dinosaure Bleu |
Oui c'est vrai mais c'est une fonction présente dans une des bibliothèques qu'on utilise au boulot et c'est assez compliqué d'aller la modifier. Cette fonction a toujours bien fonctionné même si la façon dont on l'utilise n'est pas très propre !!! (Je vais vérifier lundi !!!) Message édité par darkoli le 15-10-2004 à 21:59:26 --------------- Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html |
Sujets relatifs | |
---|---|
Sendmail ne focntionne pas sur Free??? | session php chez free |
[RESOLU] mysql_numrows(): is not a valid MYSQL result ... /sessions | [C] Possible de faire un extern sur une union de struct [RESOLU] ? |
[HTML/PHP][Résolu] Problème de sauvegarde pour les formulaires | Est ce normal que la fonction rmdir() ne marche pas chez free ? |
[RESOLU]probleme avec ma session | Supprimer tout ce qui n'est pas lettre et chiffre (resolu) |
[RESOLU] problème de condition sur un requête SQL | Probleme d'une simple expression reguliere [RESOLU] |
Plus de sujets relatifs à : free(): invalid pointer 0x40318008! [Résolu] |