diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-10-22 15:52:27 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-10-22 15:52:27 +0100 |
commit | 7c0ded82ed4f4d179226e16912b8529d82f5d9a8 (patch) | |
tree | 72da19c2f64e840a16553580de3a121a9a0cc5bd /src/lua/lua_url.c | |
parent | cac62b8fece162b7e48d00c6597c39e67faf0f48 (diff) | |
download | rspamd-7c0ded82ed4f4d179226e16912b8529d82f5d9a8.tar.gz rspamd-7c0ded82ed4f4d179226e16912b8529d82f5d9a8.zip |
[Fix] Sigh, another email to string fix
Diffstat (limited to 'src/lua/lua_url.c')
-rw-r--r-- | src/lua/lua_url.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/lua/lua_url.c b/src/lua/lua_url.c index 57be4c009..4b923d3ef 100644 --- a/src/lua/lua_url.c +++ b/src/lua/lua_url.c @@ -302,21 +302,15 @@ lua_url_tostring (lua_State *L) if (url != NULL && url->url != NULL) { if (url->url->protocol == PROTOCOL_MAILTO) { - if (url->url->userlen + 1 + url->url->hostlen == url->url->urllen) { - lua_pushlstring (L, url->url->string, url->url->urllen); - } - else { - /* TODO: not efficient */ - gchar *tmp = g_malloc (url->url->userlen + 1 + - url->url->hostlen); - memcpy (tmp, url->url->user, url->url->userlen); - tmp[url->url->userlen] = '@'; - memcpy (tmp + url->url->userlen + 1, url->url->host, - url->url->hostlen); - - lua_pushlstring (L, tmp, url->url->userlen + 1 + url->url->hostlen); - g_free (tmp); - } + gchar *tmp = g_malloc (url->url->userlen + 1 + + url->url->hostlen); + memcpy (tmp, url->url->user, url->url->userlen); + tmp[url->url->userlen] = '@'; + memcpy (tmp + url->url->userlen + 1, url->url->host, + url->url->hostlen); + + lua_pushlstring (L, tmp, url->url->userlen + 1 + url->url->hostlen); + g_free (tmp); } else { lua_pushlstring (L, url->url->string, url->url->urllen); |