Bug in inet_db.erl
Alexey Shchepin
alexey@REDACTED
Sat Mar 5 00:44:33 CET 2005
Hi!
There exists such domain at this moment:
% host -t srv _xmpp-server._tcp.centova.net
_xmpp-server._tcp.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
cluster.centova.net CNAME cluster.centova.net
Possible CNAME loop
Now try to run
% erl -name test
> inet_res:getbyname("_xmpp-server._tcp.centova.net", srv).
Erlang VM will eat a lot of memory and then produce erl_crash.dump.
Quick fix:
--- inet_db.erl.orig Sat Mar 5 01:31:50 2005
+++ inet_db.erl Sat Mar 5 01:47:49 2005
@@ -546,7 +546,12 @@
case res_lookup_type(Domain,?S_CNAME,RRs) of
[] -> {error, nxdomain};
[CName | _] ->
- res_hostent_by_domain(CName, [Domain | Aliases], Type, RRs)
+ case lists:member(CName, [Domain | Aliases]) of
+ true -> {error, nxdomain};
+ false ->
+ res_hostent_by_domain(CName, [Domain | Aliases],
+ Type, RRs)
+ end
end;
Addrs ->
{ok, make_hostent(Domain, Addrs, Aliases,Type)}
More information about the erlang-patches
mailing list