aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_url.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-10-22 15:52:27 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-10-22 15:52:27 +0100
commit7c0ded82ed4f4d179226e16912b8529d82f5d9a8 (patch)
tree72da19c2f64e840a16553580de3a121a9a0cc5bd /src/lua/lua_url.c
parentcac62b8fece162b7e48d00c6597c39e67faf0f48 (diff)
downloadrspamd-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.c24
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);