| Предыдущий | Следующий |
| ERROR_DEVICE_HARDWARE_ERROR | ERROR_USER_PROFILE_LOAD |
ERROR_INVALID_ADDRESS
description[операция попыталась обратиться по недопустимому адресу памяти.]Передан или использован недопустимый адрес
ERROR_INVALID_ADDRESS указывает, что операция сослалась на адрес памяти или отображённый диапазон, который Windows не может принять. Причиной часто является ошибка вызывающего кода, устаревшее отображение или неверная арифметика указателей.
Типичные причины
- Передан неинициализированный, освобождённый или неправильно приведённый указатель.
- Представление используется после закрытия или изменения размера его отображения.
- Передан адрес, не соответствующий требованиям выравнивания или резервирования.
- Указатель или размер усечён при переходе между 32- и 64-разрядным кодом.
Диагностика
Сохраните сбойный адрес, запрошенный размер, разрядность процесса, состояние защиты памяти и происхождение выделения. Включите Application Verifier, page heap, доступные санитайзеры или точки останова отладчика вокруг выделения и освобождения.
Обработка
Не повторяйте операцию с тем же адресом. Проверяйте диапазоны с помощью арифметики, устойчивой к переполнению, и явно определяйте владение. Если адрес поступил из недоверенных данных или IPC, отклоните его на границе.
Значение для безопасности
Ошибки недопустимого адреса могут выявлять использование после освобождения, переполнение буфера или дефект confused deputy. Считайте воспроизводимые случаи потенциально опасными, пока не доказано обратное.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.