was bedeutet diese Fehlermeldung deuten?

Wenn ich versuche, mein Programm ausführen immer eine Fehlermeldung wie diese -

sendip: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size)
 >= (unsigned long)(nb)' failed

Versucht erfassungsfehler durch valgrind,habe diese ein -

   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== 

Linie nicht. 435

              datalen = stringargument(gnuoptarg, &datarg);
      /*This is the line*/ data=(char *)malloc(datalen);
                            memcpy(data, datarg, datalen);

Wenn nötig, ich könnte hinzufügen, andere Teile des Codes ... aber helfen mir immer aus dieser ??? Was ist dieses ich immer bin, keine Ahnung ..

Es Art von klingt wie dein Programm ist einfach der Speicher ausgeht. Wie groß ist datalen?

InformationsquelleAutor Udit Gupta | 2011-10-13

Schreibe einen Kommentar