EterBase/lzo.cpp'de CLZObject:: Decompress içerisindeki lzo1x_decompress fonksiyonu uiSize değişkeni atanmadığı için -5 (LZO_E_OUTPUT_OVERRUN) şeklinde dönebiliyor ve o pack dosyasının açılmasını engelliyor sonrasında ise pack dosyasından bir dosyayı oyunda kullanmaya çalıştığınızda dosya mevcut olsa dahi aşağıdaki gibi bir hata ile karşılaşıyorsunuz. Bunun çözümünü paylaşıcam.
Arat:
if (LZO_E_OK != (r = lzo1x_decompress(pbDecryptedBuffer + sizeof(DWORD), m_pHeader->dwCompressedSize, m_pbBuffer, (lzo_uint*) &uiSize, NULL)))
{
TraceError("LZObject: Decompress failed(decrypt) ret %d\n", r);
return false;
}
Üstüne ekle:
uiSize = m_pHeader->dwRealSize;
if (LZO_E_OK != (r = lzo1x_decompress(pbDecryptedBuffer + sizeof(DWORD), m_pHeader->dwCompressedSize, m_pbBuffer, (lzo_uint*) &uiSize, NULL)))
{
TraceError("LZObject: Decompress failed(decrypt) ret %d\n", r);
return false;
}
Üstüne ekle:
uiSize = m_pHeader->dwRealSize;