Pārlūkot izejas kodu

typecheck postMessage data

Typecheck postMessage data so that indexOf() isn't 
called on messages that have Object type and come 
from the same page.
mesteiral 13 gadi atpakaļ
vecāks
revīzija
0908f83feb
1 mainītis faili ar 2 papildinājumiem un 2 dzēšanām
  1. 2 2
      WebContent/core/scripts/content/wininfo.js

+ 2 - 2
WebContent/core/scripts/content/wininfo.js

@@ -29,7 +29,7 @@ var wininfo = {};
 	function addListener(onMessage) {
 	function addListener(onMessage) {
 		function windowMessageListener(event) {
 		function windowMessageListener(event) {
 			var data = event.data;
 			var data = event.data;
-			if (data.indexOf(EXT_ID + '::') == 0)
+			if (typeof data === 'string' && data.indexOf(EXT_ID + '::') == 0)
 				onMessage(JSON.parse(data.substr(EXT_ID.length + 2)));
 				onMessage(JSON.parse(data.substr(EXT_ID.length + 2)));
 		}
 		}
 		this.addEventListener("message", windowMessageListener, false);
 		this.addEventListener("message", windowMessageListener, false);
@@ -59,7 +59,7 @@ var wininfo = {};
 			function addListener(onMessage) {
 			function addListener(onMessage) {
 				function windowMessageListener(event) {
 				function windowMessageListener(event) {
 					var data = event.data;
 					var data = event.data;
-					if (data.indexOf(extensionId + '::') == 0)
+					if (typeof data === 'string' && data.indexOf(extensionId + '::') == 0)
 						onMessage(parse(data.substr(extensionId.length + 2)));
 						onMessage(parse(data.substr(extensionId.length + 2)));
 				}
 				}
 				top.addEventListener("message", windowMessageListener, false);
 				top.addEventListener("message", windowMessageListener, false);