diff options
Diffstat (limited to 'source/Irrlicht/CImageLoaderTGA.cpp')
-rw-r--r-- | source/Irrlicht/CImageLoaderTGA.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/Irrlicht/CImageLoaderTGA.cpp b/source/Irrlicht/CImageLoaderTGA.cpp index c9b3a9d..af4fad5 100644 --- a/source/Irrlicht/CImageLoaderTGA.cpp +++ b/source/Irrlicht/CImageLoaderTGA.cpp @@ -106,6 +106,12 @@ IImage* CImageLoaderTGA::loadImage(io::IReadFile* file) const header.ImageHeight = os::Byteswap::byteswap(header.ImageHeight);
#endif
+ if (!checkImageDimensions(header.ImageWidth, header.ImageHeight))
+ {
+ os::Printer::log("Rejecting TGA with unreasonable size.", ELL_ERROR);
+ return 0;
+ }
+
// skip image identification field
if (header.IdLength)
file->seek(header.IdLength, true);
|