commit 5c81f0c: [Fix] Clickhouse: Fix quoting

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Jun 17 16:49:06 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-06-17 17:42:20 +0100
URL: https://github.com/rspamd/rspamd/commit/5c81f0ce3d64085efebd0becd2d017697fc7edfd

[Fix] Clickhouse: Fix quoting
Issue: #2928

---
 lualib/lua_clickhouse.lua | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lualib/lua_clickhouse.lua b/lualib/lua_clickhouse.lua
index e7dbed9d3..1aca0f719 100644
--- a/lualib/lua_clickhouse.lua
+++ b/lualib/lua_clickhouse.lua
@@ -44,7 +44,12 @@ end
 
 local function clickhouse_quote(str)
   if str then
-    return str:gsub('[\'\\]', '\\%1'):lower()
+    return str:gsub('[\'\\\n\t]', {
+      ['\''] = '\\\'',
+      ['\\'] = '\\',
+      ['\n'] = '\\n',
+      ['\t'] = '\\t'
+    }):lower()
   end
 
   return ''
@@ -71,6 +76,8 @@ local function row_to_tsv(row)
       row[i] = '[' .. array_to_string(elt) .. ']'
     elseif type(elt) == 'number' then
       row[i] = ch_number(elt)
+    else
+      row[i] = clickhouse_quote(elt)
     end
   end
 


More information about the Commits mailing list