| Предыдущий | Следующий |
| CRYPT_E_ASN1_MEMORY | CRYPT_E_ASN1_BADPDU |
CRYPT_E_ASN1_OVERFLOW
Что означает CRYPT_E_ASN1_OVERFLOW
CRYPT_E_ASN1_OVERFLOW: ASN.1 слой не смог поместить encoded или decoded представление в предоставленный либо внутренний фиксированный буфер.
Что проверить
- При двухпроходном API сначала запросите требуемый размер с пустым выходной буфер и используйте возвращённое значение без усечения.
- Проверьте тип переменной длины и переполнение при переводе между DWORD, size_t и собственными полями.
- Если размер выглядит неправдоподобно большим, проверьте ASN.1 length входа на повреждение.
Что делать
Увеличивайте буфер только после проверки рассчитанного размера. Бесконтрольное выделение по недоверенному length-полю не является безопасным исправлением и может превратить ошибку декодирования в проблему потребления памяти.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.