summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2022-05-01 10:25:51 +0200
committerGitHub <noreply@github.com>2022-05-01 10:25:51 +0200
commit92530f634fd84da60f4da2b044560ba544647d32 (patch)
treec8633235d8696fe4b26744b6bc080ae5ca1867cf
parentc25c837f2182c7849e05706c950fc6a886ee77b2 (diff)
parent3012b76ec5a1bf26d2df29d67957e7aef2c20660 (diff)
Merge pull request #60681 from timothyqiu/noise-check
Validate image size for `Noise` get image methods
-rw-r--r--modules/noise/noise.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/noise/noise.cpp b/modules/noise/noise.cpp
index ad3df0a016..d14b63f7c8 100644
--- a/modules/noise/noise.cpp
+++ b/modules/noise/noise.cpp
@@ -31,6 +31,8 @@
#include "noise.h"
Ref<Image> Noise::get_seamless_image(int p_width, int p_height, bool p_invert, bool p_in_3d_space, real_t p_blend_skirt) const {
+ ERR_FAIL_COND_V(p_width <= 0 || p_height <= 0, Ref<Image>());
+
int skirt_width = p_width * p_blend_skirt;
int skirt_height = p_height * p_blend_skirt;
int src_width = p_width + skirt_width;
@@ -55,6 +57,8 @@ uint8_t Noise::_alpha_blend<uint8_t>(uint8_t p_bg, uint8_t p_fg, int p_alpha) co
}
Ref<Image> Noise::get_image(int p_width, int p_height, bool p_invert, bool p_in_3d_space) const {
+ ERR_FAIL_COND_V(p_width <= 0 || p_height <= 0, Ref<Image>());
+
Vector<uint8_t> data;
data.resize(p_width * p_height);