handle .* IP/PORTs (6 bytes) error

This commit is contained in:
Theadd 2014-09-24 18:03:30 +02:00
parent a357dd2957
commit e898ef45f6

View File

@ -352,9 +352,13 @@ Tracker.prototype._requestUdp = function (requestUrl, opts) {
incomplete: msg.readUInt32BE(12)
})
compact2string.multi(msg.slice(20)).forEach(function (addr) {
self.client.emit('peer', addr)
})
try {
compact2string.multi(msg.slice(20)).forEach(function (addr) {
self.client.emit('peer', addr)
})
} catch (err) {
return self.client.emit('error', err)
}
break
case 2: // scrape
@ -478,9 +482,13 @@ Tracker.prototype._handleResponse = function (requestUrl, data) {
if (Buffer.isBuffer(data.peers)) {
// tracker returned compact response
compact2string.multi(data.peers).forEach(function (addr) {
self.client.emit('peer', addr)
})
try {
compact2string.multi(data.peers).forEach(function (addr) {
self.client.emit('peer', addr)
})
} catch (err) {
return self.client.emit('error', err)
}
} else if (Array.isArray(data.peers)) {
// tracker returned normal response
data.peers.forEach(function (peer) {