aboutsummaryrefslogtreecommitdiff
path: root/source/Irrlicht/CImageLoaderTGA.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Irrlicht/CImageLoaderTGA.cpp')
-rw-r--r--source/Irrlicht/CImageLoaderTGA.cpp6
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);