texconv: Fix PPM reader to avoid overread of buffer (#410)

This commit is contained in:
Chuck Walbourn 2023-11-08 18:20:40 -08:00 коммит произвёл GitHub
Родитель 6eca077e06
Коммит 53ba375fbf
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 6 добавлений и 4 удалений

1
.gitignore поставляемый
Просмотреть файл

@ -34,6 +34,7 @@ Profile
Release
x64
/Tests
/Testing
/wiki
/out
/CMakeUserPresets.json

Просмотреть файл

@ -202,16 +202,17 @@ HRESULT __cdecl LoadFromPortablePixMap(
while (ppmSize > 0 && (pixels < pixelEnd))
{
if (ppmSize < 3)
{
return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF);
}
*pixels++ = (255 * pData[0] / max)
| ((255 * pData[1] / max) << 8)
| ((255 * pData[2] / max) << 16)
| 0xff000000;
pData += 3;
if (ppmSize < 3)
{
return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF);
}
ppmSize -= 3;
}