Любой способ проверить указатель перед попыткой освободить его? - PullRequest
0 голосов
/ 12 апреля 2019

Одна из наиболее уродливых ошибок времени выполнения возникает при попытке освободить недопустимый указатель, например, нулевой указатель. Конечно, можно проверить, что указатель не является нулевым, прежде чем пытаться освободить его, но иногда может быть адрес, который является недействительным (не в куче), но не является нулевым. Есть ли способ проверить это?

Я полагаю, что нужен какой-то способ проверить, находится ли конкретный адрес в диапазоне адресов, которые были назначены куче. Хотя не все адреса в куче являются свободными адресами, но если адрес находится в куче, это увеличивает вероятность того, что это действительный адрес.

...