From: Vsevolod Stakhov Date: Thu, 29 Oct 2015 08:48:03 +0000 (+0000) Subject: Fix another issue with fixed strings. X-Git-Tag: 1.0.10~8 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6ad1b2e5d258fece916f01a50f6d89e39b701143;p=rspamd.git Fix another issue with fixed strings. --- diff --git a/src/lua/lua_http.c b/src/lua/lua_http.c index b7b63596e..c6c95c9df 100644 --- a/src/lua/lua_http.c +++ b/src/lua/lua_http.c @@ -273,6 +273,7 @@ static gint lua_http_request (lua_State *L) { const gchar *url, *lua_body; + gchar *to_resolve; gint cbref; gsize bodylen; struct event_base *ev_base; @@ -460,17 +461,25 @@ lua_http_request (lua_State *L) } else { if (task == NULL) { + to_resolve = g_malloc (msg->host->len + 1); + rspamd_strlcpy (to_resolve, msg->host->str, msg->host->len + 1); + if (!make_dns_request (resolver, session, NULL, lua_http_dns_handler, cbd, RDNS_REQUEST_A, msg->host->str)) { lua_http_maybe_free (cbd); lua_pushboolean (L, FALSE); + g_free (to_resolve); return 1; } + + g_free (to_resolve); } else { + to_resolve = rspamd_mempool_fstrdup (task->task_pool, msg->host); + if (!make_dns_request_task (task, lua_http_dns_handler, cbd, - RDNS_REQUEST_A, msg->host->str)) { + RDNS_REQUEST_A, to_resolve)) { lua_http_maybe_free (cbd); lua_pushboolean (L, FALSE);