@ZER0112

Нарушение прав доступа при чтении по адресу 0x39383835 как исправить?

Необработанное исключение по адресу 0x00E26B55 в ImageScanner.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x39383835.

void pop(stack_t ** top, char *buffer)
{
	node_t *node = NULL;

	if (!empty(top))
	{
		node = *top;	/* Save the old top */
		*top = (*top)->next; // ТУТ ОШИБКА

		strcpy(buffer, node->str);

		free(node->str);
		free(node);

		node = NULL;
	}
}


Как исправить?
  • Вопрос задан
  • 1980 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rPman
Черт, неужели нельзя переделать код на использование & а не *, в идеале вообще избавиться от malloc и free а организовать код чтобы освобождение было автоматическим, или переместить логику в классы и деструкторы.

Причина может быть страшнее - где то порушена память heap но узнаете вы об этом когда станет совсем поздно - т.е. в другом кучке кода.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы