From 248f23196c768c1c460b2de0e52f83cb2f65250b Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Thu, 30 Nov 2017 13:43:06 +0700 Subject: [PATCH] Check relay/bridge properties exist before accessing them --- lib/tor.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/tor.js b/lib/tor.js index db53661..ead2d2b 100644 --- a/lib/tor.js +++ b/lib/tor.js @@ -15,8 +15,12 @@ module.exports = { .details(query) .then(response => { const details = response.body; - details.relays.forEach(setNodeType('relay')); - details.bridges.forEach(setNodeType('bridge')); + if (details.relays) { + details.relays.forEach(setNodeType('relay')); + } + if (details.bridges) { + details.bridges.forEach(setNodeType('bridge')); + } return details.relays.concat(details.bridges); }); }, @@ -25,10 +29,10 @@ module.exports = { .details({ lookup: id }) .then(response => { const details = response.body; - if (details.relays[0]) { + if (details.relays && details.relays[0]) { details.relays[0].type = 'relay'; return details.relays[0]; - } else if (details.bridges[0]) { + } else if (details.bridges && details.bridges[0]) { details.bridges[0].type = 'bridge'; return details.bridges[0]; }