que signifie cette erreur?
Lorsque j'essaie d'exécuter mon programme de Son erreur comme celle - ci,
sendip: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size)
>= (unsigned long)(nb)' failed
Essayé la capture d'erreur par valgrind,a obtenu cette
HEAP SUMMARY:
==3335== in use at exit: 24 bytes in 2 blocks
==3335== total heap usage: 111 allocs, 109 frees, 7,929 bytes allocated
==3335==
==3335== 4 bytes in 1 blocks are definitely lost in loss record 1 of 2
==3335== at 0x40268A4: malloc (vg_replace_malloc.c:236)
==3335== by 0x8049EEF: main (sendip.c:435)
==3335==
==3335== 20 bytes in 1 blocks are definitely lost in loss record 2 of 2
==3335== at 0x40268A4: malloc (vg_replace_malloc.c:236)
==3335== by 0x4031F57: ???
==3335== by 0x804A338: main (sendip.c:521)
==3335==
Ligne. 435
datalen = stringargument(gnuoptarg, &datarg);
/*This is the line*/ data=(char *)malloc(datalen);
memcpy(data, datarg, datalen);
Si nécessaire je pourrais ajouter d'autres morceaux de code ... mais m'aider à sortir de ce ??? Qu'est-ce que j'obtiens aucune idée ..
Il sorte de ressemble à votre programme est tout simplement à court de mémoire. Quelle est la taille de
datalen
?OriginalL'auteur Udit Gupta | 2011-10-13
Vous devez vous connecter pour publier un commentaire.
Vous devez écraser "données" et oublier de libérer l'ancien contenu... avez-vous vérifié?
OriginalL'auteur Leandro Gomide