Что означает код ошибки Windows 605 (ERROR_BAD_COMPRESSION_BUFFER)?

 
Предыдущий Следующий
ERROR_INVALID_VARIANT ERROR_AUDIT_FAILED

ERROR_BAD_COMPRESSION_BUFFER

Буфер сжатия невозможно безопасно декодировать

API сжатия Windows может вернуть эту ошибку при повреждении сжатых байтов или несовпадении параметров сырого режима с параметрами, использованными при создании данных. При COMPRESS_RAW декомпрессор должен использовать тот же сырой режим и точный исходный несжатый размер; неверный размер может привести к этой ошибке или даже к вводящему в заблуждение результату.

Считайте размеры, встроенные в недоверенные сжатые данные, недоверенными. Сохраните исходные сжатые байты, идентификатор алгоритма, флаги, сжатую длину и ожидаемую несжатую длину. Отличайте эту ошибку от ERROR_INSUFFICIENT_BUFFER, означающей слишком маленький выходной буфер. Не выделяйте повторно произвольные объёмы памяти только по повреждённым значениям заголовка.

Что проверить

  • Проверьте алгоритм компрессора, флаг raw и метаданные исходного размера.
  • Проверьте сжатый блок на обрезку или повреждение при передаче.
  • Ограничивайте выделения памяти, вычисляемые из недоверенных сжатых данных.

Ссылки


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