c realloc(): invalid next size

bekomme ich diesen Fehler und die online-Suche noch nicht gelöst so, hier ist mein code^^:

void addSoggetto(char* s)
{
    soggetti_length++;
    if(realloc(soggetti, soggetti_length*sizeof(int))==NULL) 
    {
        printf("Realloc Failed");
        return;
    }

Grundsätzlich habe ich ein array von Zeigern (soggetti) und seine Länge (soggetti_length).
Jedes mal, wenn diese Funktion ran, ich realloc die Größe, um Platz für einen anderen Zeiger.
Problem sein, genau zum fünften mal die Funktion aufgerufen wird, bekomme ich:

realloc(): invalid next size

Wissen Sie, wie kann ich tun?
Ich denke, ich kann ausschließen, dass die Erinnerung, die ich realloc ist nicht enaugh, Band ich ihn zu verstärken und es ändert sich nichts.
Oh, und ich Debuggen mit gdb, die Funktion stürzt ab, VOR der Rückkehr, so dass ich nicht sogar so etwas wie eine NULL-Rendite

  • Eine kompilierbare Beispiel würde helfen. Deins schlägt fehl, Sie deklarieren die Variablen, die Sie verwendet und enthält mehr { als }.
  • int und Zeiger 32 bit, aber ja du hast Recht, es ist besser...aber wie gesagt, das ist nicht die Lösung, auch wenn ich allozieren mit 100 bytes zu speichern, 4 von Ihnen, der Fehler ist der gleiche
  • sorry pascal, aber der code ist aufgeteilt in mehrere Dateien, und der wichtige Teil ist, dass man...im zweiten Teil die Funktion, die ich zuordnen eines Objekts und speichert seine Zeiger in die Position, die ich nur umgeschichtet und auf das array
InformationsquelleAutor Ryno | 2014-08-19
Schreibe einen Kommentar