diff options
Diffstat (limited to 'mail-filter/rspamd/files/rspamd-3.0-fix-null-dereference.patch')
-rw-r--r-- | mail-filter/rspamd/files/rspamd-3.0-fix-null-dereference.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/mail-filter/rspamd/files/rspamd-3.0-fix-null-dereference.patch b/mail-filter/rspamd/files/rspamd-3.0-fix-null-dereference.patch new file mode 100644 index 000000000000..d355f701a273 --- /dev/null +++ b/mail-filter/rspamd/files/rspamd-3.0-fix-null-dereference.patch @@ -0,0 +1,46 @@ +From abea3ac21f764658a966dad475fc99e4b79530d7 Mon Sep 17 00:00:00 2001 +From: Jan Smutny <js@excello.cz> +Date: Tue, 31 Aug 2021 14:25:23 +0200 +Subject: [PATCH] [Fix] src/lua/lua_mimepart.c: fix null dereference + +--- + +This patch is taken from upstream. It fixes possible runtime segfaults. + +PR: https://github.com/rspamd/rspamd/pull/3873 + +diff --git a/src/lua/lua_mimepart.c b/src/lua/lua_mimepart.c +index 66b588e3a..21a46d496 100644 +--- a/src/lua/lua_mimepart.c ++++ b/src/lua/lua_mimepart.c +@@ -1240,7 +1240,16 @@ lua_textpart_get_fuzzy_hashes (lua_State * L) + rspamd_stat_token_t *word; + struct lua_shingle_filter_cbdata cbd; + +- if (part && pool) { ++ ++ if (part == NULL || pool == NULL) { ++ return luaL_error (L, "invalid arguments"); ++ } ++ ++ if (IS_TEXT_PART_EMPTY (part) || part->utf_words == NULL) { ++ lua_pushnil (L); ++ lua_pushnil (L); ++ } ++ else { + /* TODO: add keys and algorithms support */ + rspamd_cryptobox_hash (key, "rspamd", strlen ("rspamd"), NULL, 0); + +@@ -1294,9 +1303,6 @@ lua_textpart_get_fuzzy_hashes (lua_State * L) + } + } + } +- else { +- return luaL_error (L, "invalid arguments"); +- } + + return 2; + } +-- +2.31.1 + |