diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2024-09-08 12:20:25 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2024-09-08 12:24:25 +0200 |
commit | 3150a4542f81f0f953e68170bda462b0a501ff29 (patch) | |
tree | 73efee082eeb5b4cea29fdb1713dddc01df05e69 | |
parent | 8166c26c7aae21e6851dc72a5b5148aaabd27236 (diff) | |
download | tdelibs-3150a4542f81f0f953e68170bda462b0a501ff29.tar.gz tdelibs-3150a4542f81f0f953e68170bda462b0a501ff29.zip |
kjs - pcre: Fix crash if regexp is invalid.
If the regular expression is invalid and pcre2_compile ends with error,
match_data will remain uninitialized, which in turn leads to crash on
pcre2_match_data_free in RegExp destructor.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r-- | kjs/regexp.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kjs/regexp.cpp b/kjs/regexp.cpp index a693fdc1a..c92a69d6a 100644 --- a/kjs/regexp.cpp +++ b/kjs/regexp.cpp @@ -149,6 +149,7 @@ RegExp::RegExp(const UString &p, int f) pcre2_get_error_message(errorCode, errorMsg, sizeof(errorMsg)); fprintf(stderr, "KJS: pcre_compile() failed with '%s'\n", errorMsg); #endif + match_data = nullptr; valid = false; return; } |