diff --git a/exec/load/dns.js b/exec/load/dns.js index fcdb219665f75c232f38235e1f06a9f76f961297..fe91df3ccae099a992ca091ac2b602c1d36c8f57 100644 --- a/exec/load/dns.js +++ b/exec/load/dns.js @@ -211,10 +211,14 @@ DNS.prototype.handle_response = function(sock) { var tmp; function string_to_int16(str) { + if(!str) + return 0; return ((ascii(str[0])<<8) | (ascii(str[1]))); } function string_to_int32(str) { + if(!str) + return 0; return ((ascii(str[0])<<24) | (ascii(str[1]) << 16) | (ascii(str[1]) << 8) | (ascii(str[1]))); } @@ -393,6 +397,8 @@ DNS.prototype.handle_response = function(sock) { delete this.outstanding[id]; ret.id = id; + if(!resp) + return null; ret.response = !!(ascii(resp[2]) & 0x80); if (!ret.response) return null;