From: Vsevolod Stakhov Date: Thu, 9 Aug 2018 14:05:16 +0000 (+0100) Subject: [Fix] Fix HTTP requests with no body X-Git-Tag: 1.8.0~288 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58f2e1a3e3638ec6032bd4da5e4006e63fc04495;p=thirdparty%2Frspamd.git [Fix] Fix HTTP requests with no body --- diff --git a/src/lua/lua_http.c b/src/lua/lua_http.c index cbf30a07c8..b9a2d7b59f 100644 --- a/src/lua/lua_http.c +++ b/src/lua/lua_http.c @@ -555,7 +555,8 @@ lua_http_request (lua_State *L) body = rspamd_fstring_new_init (t->start, t->len); } else { - return luaL_error (L, "invalid body argument"); + return luaL_error (L, "invalid body argument type: %s", + lua_typename (L, lua_type (L, -1))); } } else if (lua_type (L, -1) == LUA_TTABLE) { @@ -573,16 +574,19 @@ lua_http_request (lua_State *L) body = rspamd_fstring_append (body, t->start, t->len); } else { - return luaL_error (L, "invalid body argument"); + return luaL_error (L, "invalid body argument: %s", + lua_typename (L, lua_type (L, -1))); } } else { - return luaL_error (L, "invalid body argument"); + return luaL_error (L, "invalid body argument type: %s", + lua_typename (L, lua_type (L, -1))); } } } - else { - return luaL_error (L, "invalid body argument"); + else if (lua_type (L, -1) != LUA_TNONE && lua_type (L, -1) != LUA_TNIL) { + return luaL_error (L, "invalid body argument type: %s", + lua_typename (L, lua_type (L, -1))); } lua_pop (L, 1);