Что означает «CRT обнаружил, что приложение записало в память после завершения буфера кучи»?

У меня проблемы с этим кодом. Это ломается в свободной (q-> izv) функции, и я получаю ошибку отладки, говорящую:

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

Я понятия не имею, что это значит, поэтому я был бы благодарен за любую помощь, которую я получаю.

    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);
        }
    }

заранее спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос