From 91ea7530bdb0a717dbc42fa34b435dd1092a5669 Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Sun, 27 Jun 2021 20:52:42 +0800 Subject: [PATCH] Validates the `p_format` parameter in `Image::create` functions. (cherry picked from commit 0b7ffd4f6867f71506ff345765aeb7874c5fa3e2) --- core/image.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/image.cpp b/core/image.cpp index 9a977a9d80a..f97a88d79aa 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -1740,6 +1740,7 @@ void Image::create(int p_width, int p_height, bool p_use_mipmaps, Format p_forma ERR_FAIL_COND_MSG(p_width > MAX_WIDTH, "Image width cannot be greater than " + itos(MAX_WIDTH) + "."); ERR_FAIL_COND_MSG(p_height > MAX_HEIGHT, "Image height cannot be greater than " + itos(MAX_HEIGHT) + "."); ERR_FAIL_COND_MSG(write_lock.ptr(), "Cannot create image when it is locked."); + ERR_FAIL_INDEX_MSG(p_format, FORMAT_MAX, "Image format out of range, please see Image's Format enum."); int mm = 0; int size = _get_dst_image_size(p_width, p_height, p_format, mm, p_use_mipmaps ? -1 : 0); @@ -1760,6 +1761,7 @@ void Image::create(int p_width, int p_height, bool p_use_mipmaps, Format p_forma ERR_FAIL_COND_MSG(p_height <= 0, "Image height must be greater than 0."); ERR_FAIL_COND_MSG(p_width > MAX_WIDTH, "Image width cannot be greater than " + itos(MAX_WIDTH) + "."); ERR_FAIL_COND_MSG(p_height > MAX_HEIGHT, "Image height cannot be greater than " + itos(MAX_HEIGHT) + "."); + ERR_FAIL_INDEX_MSG(p_format, FORMAT_MAX, "Image format out of range, please see Image's Format enum."); int mm; int size = _get_dst_image_size(p_width, p_height, p_format, mm, p_use_mipmaps ? -1 : 0);