Was bedeutet "CRT festgestellt, dass die Anwendung geschrieben, um den Speicher nach dem Ende von heap-Puffer" bedeuten?

Ich habe ein Problem mit diesem code. Es bricht an der freien(f->izv) - Funktion und bekomme ich einen debug Fehler sagen:

CRT detected that the application wrote to memory after end of heap buffer

Ich habe keine Ahnung was das bedeutet also ich wäre für jede Hilfe dankbar die ich bekomme.

    typedef struct izvodjaci{
    char *izv;
    int broj;
    struct izvodjaci *sled;
    }IZV;

    obrisi_i(IZV *p){
        while (p){
            IZV *q;
            q = p;
            p = p->sled;
            if (!strcmp(q->izv,"UNKNOWN")) free(q->izv);
            free(q);
        }
    }

Vielen Dank im Voraus

  • Chancen sind, ist dies genau dort, wo der buffer overflow ist nur erkannt und nicht dort, wo es tatsächlich Auftritt. Versuchen Sie, reduzieren Sie Ihren gesamten code für ein kleines Beispiel, das sich repliziert, das Problem und poste es hier, vorausgesetzt, Sie finden nicht die erste Ausgabe.
InformationsquelleAutor user3699827 | 2014-06-04
Schreibe einen Kommentar