summaryrefslogtreecommitdiffstats
path: root/modules/regex/regex.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2018-08-26 17:35:32 +0200
committerGitHub <noreply@github.com>2018-08-26 17:35:32 +0200
commit282c0483c9688de79e0c147eb26638d48fb46ed8 (patch)
tree620f92952eff6b7936d94a598aa117ed27faf795 /modules/regex/regex.cpp
parent653b4829f1bee9e6bfae9d353b6e1145cea0aece (diff)
parente4af39cbc00446b03d142882a69813e94f0838b2 (diff)
downloadredot-engine-282c0483c9688de79e0c147eb26638d48fb46ed8.tar.gz
Merge pull request #21411 from Crazy-P/fixes-several-resource-leaks
Fixes several resource leaks listed on coverity
Diffstat (limited to 'modules/regex/regex.cpp')
-rw-r--r--modules/regex/regex.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/regex/regex.cpp b/modules/regex/regex.cpp
index 733f32277b..bdd3e31eb8 100644
--- a/modules/regex/regex.cpp
+++ b/modules/regex/regex.cpp
@@ -205,6 +205,8 @@ Error RegEx::compile(const String &p_pattern) {
code = pcre2_compile_16(p, pattern.length(), flags, &err, &offset, cctx);
+ pcre2_compile_context_free_16(cctx);
+
if (!code) {
PCRE2_UCHAR16 buf[256];
pcre2_get_error_message_16(err, buf, 256);
@@ -221,6 +223,8 @@ Error RegEx::compile(const String &p_pattern) {
code = pcre2_compile_32(p, pattern.length(), flags, &err, &offset, cctx);
+ pcre2_compile_context_free_32(cctx);
+
if (!code) {
PCRE2_UCHAR32 buf[256];
pcre2_get_error_message_32(err, buf, 256);
@@ -285,6 +289,8 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
if (res < 0) {
pcre2_match_data_free_32(match);
+ pcre2_match_context_free_32(mctx);
+
return NULL;
}