diff --git a/renderdoc/core/image_viewer.cpp b/renderdoc/core/image_viewer.cpp index 2d346c2da..6c902bf9f 100644 --- a/renderdoc/core/image_viewer.cpp +++ b/renderdoc/core/image_viewer.cpp @@ -726,7 +726,15 @@ void ImageViewer::RefreshFile() texDetails.width = exrImage.width; texDetails.height = exrImage.height; - datasize = texDetails.width * texDetails.height * 4 * sizeof(float); + if(texDetails.width > 16384 || texDetails.width > 16384) + { + SET_ERROR_RESULT(m_Error, ResultCode::OutOfMemory, + "EXR dimension %d x %d is too large for display", exrImage.width, + exrImage.height); + return; + } + + datasize = size_t(texDetails.width) * size_t(texDetails.height) * 4 * sizeof(float); data = (byte *)malloc(datasize); if(!data)