diff --git a/DirectXTex/DirectXTexTGA.cpp b/DirectXTex/DirectXTexTGA.cpp index 1a98eac..724d324 100644 --- a/DirectXTex/DirectXTexTGA.cpp +++ b/DirectXTex/DirectXTexTGA.cpp @@ -1658,7 +1658,7 @@ HRESULT DirectX::LoadFromTGAMemory( return hr; if (offset > size) - return E_FAIL; + return HRESULT_E_INVALID_DATA; size_t paletteOffset = 0; uint8_t palette[256 * 4] = {}; @@ -1832,6 +1832,9 @@ HRESULT DirectX::LoadFromTGAFile( if (FAILED(hr)) return hr; + if (offset > len) + return HRESULT_E_INVALID_DATA; + // Read the pixels auto const remaining = len - offset; if (remaining == 0)