]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix HTTP requests with no body
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 9 Aug 2018 14:05:16 +0000 (15:05 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 9 Aug 2018 14:27:32 +0000 (15:27 +0100)
src/lua/lua_http.c

index cbf30a07c87e5e531a7bc0bd2ff4c050eb52bbba..b9a2d7b59f961130aa4ad15f4deab6906dc840e4 100644 (file)
@@ -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);