Comparing version 0.1.2 to 0.1.3
@@ -41,3 +41,3 @@ | ||
function checkBufferLength (parser) { | ||
var maxAllowed = sax.MAX_BUFFER_LENGTH, | ||
var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10), | ||
maxActual = 0; | ||
@@ -57,3 +57,4 @@ for (var i = 0, l = buffers.length; i < l; i ++) { | ||
break | ||
default: error(parser, "Max buffer length exceeded: "+buffers[i]) | ||
default: | ||
error(parser, "Max buffer length exceeded: "+buffers[i]) | ||
} | ||
@@ -277,2 +278,14 @@ } | ||
case S.TEXT: | ||
if (parser.sawRoot && !parser.closedRoot) { | ||
var starti = i-1; | ||
while (c && c!=="<" && c!=="&") { | ||
c = chunk.charAt(i++); | ||
parser.position ++; | ||
if (c === "\n") { | ||
parser.line ++; | ||
parser.column = 0; | ||
} else parser.column ++; | ||
} | ||
parser.textNode += chunk.substring(starti, i-1); | ||
} | ||
if (c === "<") parser.state = S.OPEN_WAKA; | ||
@@ -412,2 +425,4 @@ else { | ||
parser.state = S.TEXT; | ||
} else if (c === "]") { | ||
parser.cdata += "]" | ||
} else { | ||
@@ -599,8 +614,8 @@ parser.cdata += "]]" + c; | ||
// cdata blocks can get very big under normal conditions. emit and move on. | ||
if (parser.state === S.CDATA && parser.cdata) { | ||
emitNode(parser, "oncdata", parser.cdata); | ||
parser.cdata = ""; | ||
} | ||
// if (parser.state === S.CDATA && parser.cdata) { | ||
// emitNode(parser, "oncdata", parser.cdata); | ||
// parser.cdata = ""; | ||
// } | ||
if (parser.position >= parser.bufferCheckPosition) checkBufferLength(parser); | ||
return parser; | ||
} |
{ "name" : "sax" | ||
, "author" : "Isaac Z. Schlueter <i@izs.me>" | ||
, "version" : "0.1.2" | ||
, "version" : "0.1.3" | ||
, "main" : "lib/sax" | ||
@@ -5,0 +5,0 @@ , "license" : "MIT" |
// set this really low so that I don't have to put 64 MB of xml in here. | ||
require(require("path").join(__dirname, "../lib/sax")).MAX_BUFFER_LENGTH = 5; | ||
var sax = require("../lib/sax") | ||
var bl = sax.MAX_BUFFER_LENGTH | ||
sax.MAX_BUFFER_LENGTH = 5; | ||
@@ -22,2 +24,3 @@ require(__dirname).test({ | ||
.write("</abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>") | ||
.close(); | ||
.close(); | ||
sax.MAX_BUFFER_LENGTH = bl |
@@ -6,4 +6,3 @@ | ||
["opencdata", undefined], | ||
["cdata", " this is "], | ||
["cdata", "character data "], | ||
["cdata", " this is character data "], | ||
["closecdata", undefined], | ||
@@ -10,0 +9,0 @@ ["closetag", "R"] |
@@ -54,15 +54,21 @@ | ||
fs.readdir(__dirname, function (error, files) { | ||
files = files.filter(function (file) { | ||
return (/\.js$/.exec(file) && file !== 'index.js') | ||
}) | ||
var n = files.length | ||
, i = 0 | ||
console.log("0.." + n) | ||
files.forEach(function (file) { | ||
// run this test. | ||
if (/\.js$/.exec(file)) { | ||
try { | ||
require(path.resolve(__dirname, file)) | ||
} catch (er) { | ||
fail(file, er) | ||
} | ||
try { | ||
require(path.resolve(__dirname, file)) | ||
console.log("ok " + (++i) + " - " + file) | ||
} catch (er) { | ||
console.log("not ok "+ (++i) + " - " + file) | ||
fail(file, er) | ||
} | ||
}) | ||
if (!failures) return sys.puts("ok"); | ||
else return sys.error(failures + " failure" + (failures > 1 ? "s" : "")); | ||
if (!failures) return console.log("#all pass"); | ||
else return console.error(failures + " failure" + (failures > 1 ? "s" : "")); | ||
}); | ||
} |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
165158
33
1985
24
2