Skip to content

Commit 111a0fc

Browse files
Merge pull request #225 from step-security/npm-audit-fix
fix: Security updates
2 parents 6eee183 + d00d867 commit 111a0fc

File tree

2 files changed

+117
-56
lines changed

2 files changed

+117
-56
lines changed

dist/index.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13101,6 +13101,22 @@ function charFromCodepoint(c) {
1310113101
);
1310213102
}
1310313103

13104+
// set a property of a literal object, while protecting against prototype pollution,
13105+
// see https://github.com/nodeca/js-yaml/issues/164 for more details
13106+
function setProperty(object, key, value) {
13107+
// used for this specific key only because Object.defineProperty is slow
13108+
if (key === '__proto__') {
13109+
Object.defineProperty(object, key, {
13110+
configurable: true,
13111+
enumerable: true,
13112+
writable: true,
13113+
value: value
13114+
});
13115+
} else {
13116+
object[key] = value;
13117+
}
13118+
}
13119+
1310413120
var simpleEscapeCheck = new Array(256); // integer, for fast access
1310513121
var simpleEscapeMap = new Array(256);
1310613122
for (var i = 0; i < 256; i++) {
@@ -13279,7 +13295,7 @@ function mergeMappings(state, destination, source, overridableKeys) {
1327913295
key = sourceKeys[index];
1328013296

1328113297
if (!_hasOwnProperty.call(destination, key)) {
13282-
destination[key] = source[key];
13298+
setProperty(destination, key, source[key]);
1328313299
overridableKeys[key] = true;
1328413300
}
1328513301
}
@@ -13339,17 +13355,7 @@ function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valu
1333913355
throwError(state, 'duplicated mapping key');
1334013356
}
1334113357

13342-
// used for this specific key only because Object.defineProperty is slow
13343-
if (keyNode === '__proto__') {
13344-
Object.defineProperty(_result, keyNode, {
13345-
configurable: true,
13346-
enumerable: true,
13347-
writable: true,
13348-
value: valueNode
13349-
});
13350-
} else {
13351-
_result[keyNode] = valueNode;
13352-
}
13358+
setProperty(_result, keyNode, valueNode);
1335313359
delete overridableKeys[keyNode];
1335413360
}
1335513361

package-lock.json

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

0 commit comments

Comments
 (0)