Столкнулся со следующей ситуацией. Есть указатель (void *) который впоследствии освобождается через free()
struct {
void *value;
....
};
...
// Присваивается указатель на какое-нибудь значение
node->value = value;
...
free(node->value);
Проблема возникает если node->value присвоить указатель на const переменную (или строковую константу), которую free() не может очистить.
Можно ли проверить, что free() передается корректный указатель и предотвратить проблему? Или это остается на совести погромиста?