Site icon EfmSoft

Что означает код HRESULT 0x80093107 (CRYPT_E_ASN1_OVERFLOW)?

 
Предыдущий Следующий
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-полю не является безопасным исправлением и может превратить ошибку декодирования в проблему потребления памяти.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version