diff --git a/lib/dom.js b/lib/dom.js index 633c34290..c6ebfe95d 100644 --- a/lib/dom.js +++ b/lib/dom.js @@ -62,7 +62,9 @@ function arrayIncludes (list) { function copy(src,dest){ for(var p in src){ - dest[p] = src[p]; + if (Object.prototype.hasOwnProperty.call(src, p)) { + dest[p] = src[p]; + } } } @@ -509,9 +511,9 @@ Node.prototype = { //console.dir(map) if(map){ for(var n in map){ - if(map[n] == namespaceURI){ - return n; - } + if (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) { + return n; + } } } el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode; @@ -525,7 +527,7 @@ Node.prototype = { var map = el._nsMap; //console.dir(map) if(map){ - if(prefix in map){ + if(Object.prototype.hasOwnProperty.call(map, prefix)){ return map[prefix] ; } } @@ -1424,11 +1426,13 @@ function importNode(doc,node,deep){ // attributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,}; function cloneNode(doc,node,deep){ var node2 = new node.constructor(); - for(var n in node){ - var v = node[n]; - if(typeof v != 'object' ){ - if(v != node2[n]){ - node2[n] = v; + for (var n in node) { + if (Object.prototype.hasOwnProperty.call(node, n)) { + var v = node[n]; + if (typeof v != "object") { + if (v != node2[n]) { + node2[n] = v; + } } } } diff --git a/lib/sax.js b/lib/sax.js index b706ef1af..0764523fb 100644 --- a/lib/sax.js +++ b/lib/sax.js @@ -135,8 +135,10 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ if(endIgnoreCaseMach){ domBuilder.endElement(config.uri,config.localName,tagName); if(localNSMap){ - for(var prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) ; + for (var prefix in localNSMap) { + if (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) { + domBuilder.endPrefixMapping(prefix); + } } } if(!endMatch){ @@ -478,8 +480,10 @@ function appendElement(el,domBuilder,currentNSMap){ if(el.closed){ domBuilder.endElement(ns,localName,tagName); if(localNSMap){ - for(prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) + for (prefix in localNSMap) { + if (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) { + domBuilder.endPrefixMapping(prefix); + } } } }else{ @@ -525,9 +529,15 @@ function fixSelfClosed(source,elStartEnd,tagName,closeMap){ return pos