]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Fix handling of '\0' in lua_tcp
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 23 Aug 2016 18:14:12 +0000 (19:14 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 25 Aug 2016 12:16:54 +0000 (13:16 +0100)
src/lua/lua_tcp.c

index 094ebf12b563b93fac7f437c13934a4d1b7e678a..4c202787fffd47ba896e5ee6863e7d4e7885812d 100644 (file)
@@ -398,16 +398,18 @@ lua_tcp_arg_toiovec (lua_State *L, gint pos, rspamd_mempool_t *pool,
                        }
                }
                else {
+                       msg_err ("bad userdata argument at position %d", pos);
                        return FALSE;
                }
        }
        else if (lua_type (L, pos) == LUA_TSTRING) {
                str = luaL_checklstring (L, pos, &len);
-               vec->iov_base = rspamd_mempool_alloc (pool, len + 1);
-               rspamd_strlcpy (vec->iov_base, str, len + 1);
+               vec->iov_base = rspamd_mempool_alloc (pool, len);
+               memcpy (vec->iov_base, str, len);
                vec->iov_len = len;
        }
        else {
+               msg_err ("bad argument at position %d", pos);
                return FALSE;
        }