Skip to content

Commit 7e081f8

Browse files
committed
Merge pull request #39 from Theadd/master
handle .* IP/PORTs (6 bytes) error
2 parents a357dd2 + e898ef4 commit 7e081f8

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

client.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -352,9 +352,13 @@ Tracker.prototype._requestUdp = function (requestUrl, opts) {
352352
incomplete: msg.readUInt32BE(12)
353353
})
354354

355-
compact2string.multi(msg.slice(20)).forEach(function (addr) {
356-
self.client.emit('peer', addr)
357-
})
355+
try {
356+
compact2string.multi(msg.slice(20)).forEach(function (addr) {
357+
self.client.emit('peer', addr)
358+
})
359+
} catch (err) {
360+
return self.client.emit('error', err)
361+
}
358362
break
359363

360364
case 2: // scrape
@@ -478,9 +482,13 @@ Tracker.prototype._handleResponse = function (requestUrl, data) {
478482

479483
if (Buffer.isBuffer(data.peers)) {
480484
// tracker returned compact response
481-
compact2string.multi(data.peers).forEach(function (addr) {
482-
self.client.emit('peer', addr)
483-
})
485+
try {
486+
compact2string.multi(data.peers).forEach(function (addr) {
487+
self.client.emit('peer', addr)
488+
})
489+
} catch (err) {
490+
return self.client.emit('error', err)
491+
}
484492
} else if (Array.isArray(data.peers)) {
485493
// tracker returned normal response
486494
data.peers.forEach(function (peer) {

0 commit comments

Comments
 (0)