]> source.dussan.org Git - rspamd.git/commitdiff
Check DNS resolver return value.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 9 Jun 2015 17:02:29 +0000 (18:02 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 9 Jun 2015 17:02:29 +0000 (18:02 +0100)
src/lua/lua_http.c
src/lua/lua_tcp.c

index cec631402afc959c680719e4c2f4cad3bfbfe9bf..10b108f13f5a5d3b7d08d289cbea672c5d375dcb 100644 (file)
@@ -454,8 +454,13 @@ lua_http_request (lua_State *L)
                }
        }
        else {
-               make_dns_request (resolver, session, NULL, lua_http_dns_handler, cbd,
-                               RDNS_REQUEST_A, msg->host->str);
+               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);
+
+                       return 1;
+               }
        }
 
        lua_pushboolean (L, TRUE);
index fadb7d93b8d6fe5f1130609cbeff8124353a8f27..43e8cab7e465645b15b74c54397005546196d786 100644 (file)
@@ -610,8 +610,11 @@ lua_tcp_request (lua_State *L)
                }
        }
        else {
-               make_dns_request (resolver, session, NULL, lua_tcp_dns_handler, cbd,
-                               RDNS_REQUEST_A, host);
+               if (!make_dns_request (resolver, session, NULL, lua_tcp_dns_handler, cbd,
+                               RDNS_REQUEST_A, host)) {
+                       lua_tcp_push_error (cbd, "cannot resolve host");
+                       lua_tcp_maybe_free (cbd);
+               }
        }
 
        lua_pushboolean (L, TRUE);