From 514dd9cdf64489e6c8c30209985bbb92bfdbdf73 Mon Sep 17 00:00:00 2001 From: "Cathy J. Fitzpatrick" Date: Sun, 21 Apr 2013 00:48:07 -0600 Subject: [PATCH] Fix some XSS issues --- js/sim.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/js/sim.js b/js/sim.js index fa81c9e56..b0a3526c1 100644 --- a/js/sim.js +++ b/js/sim.js @@ -1694,6 +1694,9 @@ function Lobby(id, elem) { } else if (log[i].name && log[i].action === 'battle') { var id = log[i].room; var matches = selfR.parseBattleID(id); + if (!matches) { + continue; // bogus room ID could be used to inject JavaScript + } var format = (matches ? matches[1] : ''); selfR.rooms.push({ id: id, @@ -1879,6 +1882,9 @@ function Lobby(id, elem) { for (var id in data.rooms) { var room = data.rooms[id]; var matches = selfR.parseBattleID(id); + if (!matches) { + continue; // bogus room ID could be used to inject JavaScript + } room.format = (matches ? matches[1] : ''); room.id = id; selfR.rooms.unshift(room); @@ -1903,6 +1909,9 @@ function Lobby(id, elem) { for (var id in data.rooms) { var roomData = data.rooms[id]; var matches = selfR.parseBattleID(id); + if (!matches) { + continue; // bogus room ID could be used to inject JavaScript + } var format = (matches ? '[' + matches[1] + ']
' : ''); var roomDesc = format + '' + Tools.escapeHTML(roomData.p1) + ' vs. ' + Tools.escapeHTML(roomData.p2) + ''; if (!roomData.p1) {