diff options
author | Alexander Barkov <bar@mariadb.com> | 2022-04-14 16:11:04 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2022-04-14 17:12:30 +0400 |
commit | c05fd700970ad45735caed3a6f9930d4ce19a3bd (patch) | |
tree | 8dfdb6ccccb88a61c0d7dfebe45253e1f1f5850a /sql/sql_plugin.cc | |
parent | 66832e3a6474967da7dcf22cd1c5e9368b699ef1 (diff) | |
download | mariadb-git-c05fd700970ad45735caed3a6f9930d4ce19a3bd.tar.gz |
MDEV-26323 use-after-poison issue of MariaDB server
Diffstat (limited to 'sql/sql_plugin.cc')
-rw-r--r-- | sql/sql_plugin.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 97bc17042b2..75631faccaa 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -372,7 +372,8 @@ bool check_valid_path(const char *path, size_t len) static void fix_dl_name(MEM_ROOT *root, LEX_STRING *dl) { const size_t so_ext_len= sizeof(SO_EXT) - 1; - if (my_strcasecmp(&my_charset_latin1, dl->str + dl->length - so_ext_len, + if (dl->length < so_ext_len || + my_strcasecmp(&my_charset_latin1, dl->str + dl->length - so_ext_len, SO_EXT)) { char *s= (char*)alloc_root(root, dl->length + so_ext_len + 1); |