Skip to content

Commit 3b77613

Browse files
Merge pull request #356 from step-security/npm-audit-fix
fix: Security updates
2 parents 3525100 + 3758160 commit 3b77613

File tree

2 files changed

+25
-18
lines changed

2 files changed

+25
-18
lines changed

dist/index.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14479,6 +14479,22 @@ function charFromCodepoint(c) {
1447914479
);
1448014480
}
1448114481

14482+
// set a property of a literal object, while protecting against prototype pollution,
14483+
// see https://github.com/nodeca/js-yaml/issues/164 for more details
14484+
function setProperty(object, key, value) {
14485+
// used for this specific key only because Object.defineProperty is slow
14486+
if (key === '__proto__') {
14487+
Object.defineProperty(object, key, {
14488+
configurable: true,
14489+
enumerable: true,
14490+
writable: true,
14491+
value: value
14492+
});
14493+
} else {
14494+
object[key] = value;
14495+
}
14496+
}
14497+
1448214498
var simpleEscapeCheck = new Array(256); // integer, for fast access
1448314499
var simpleEscapeMap = new Array(256);
1448414500
for (var i = 0; i < 256; i++) {
@@ -14657,7 +14673,7 @@ function mergeMappings(state, destination, source, overridableKeys) {
1465714673
key = sourceKeys[index];
1465814674

1465914675
if (!_hasOwnProperty.call(destination, key)) {
14660-
destination[key] = source[key];
14676+
setProperty(destination, key, source[key]);
1466114677
overridableKeys[key] = true;
1466214678
}
1466314679
}
@@ -14717,17 +14733,7 @@ function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valu
1471714733
throwError(state, 'duplicated mapping key');
1471814734
}
1471914735

14720-
// used for this specific key only because Object.defineProperty is slow
14721-
if (keyNode === '__proto__') {
14722-
Object.defineProperty(_result, keyNode, {
14723-
configurable: true,
14724-
enumerable: true,
14725-
writable: true,
14726-
value: valueNode
14727-
});
14728-
} else {
14729-
_result[keyNode] = valueNode;
14730-
}
14736+
setProperty(_result, keyNode, valueNode);
1473114737
delete overridableKeys[keyNode];
1473214738
}
1473314739

package-lock.json

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)