Skip to content

Commit c2f8454

Browse files
committedOct 9, 2020
Fix Prototype Pollution
1 parent bf8b1ff commit c2f8454

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed
 

‎dist/merge.browser.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎dist/merge.browser.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ function _merge(isClone, isRecursive, items) {
276276
if (!isPlainObject(item))
277277
continue;
278278
for (var key in item) {
279-
if (key === '__proto__')
279+
if (key === '__proto__' || key === 'constructor' || key === 'prototype')
280280
continue;
281281
var value = isClone ? clone(item[key]) : item[key];
282282
result[key] = isRecursive ? _recursiveMerge(result[key], value) : value;

‎lib/src/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ function _merge(isClone, isRecursive, items) {
6969
if (!isPlainObject(item))
7070
continue;
7171
for (var key in item) {
72-
if (key === '__proto__')
72+
if (key === '__proto__' || key === 'constructor' || key === 'prototype')
7373
continue;
7474
var value = isClone ? clone(item[key]) : item[key];
7575
result[key] = isRecursive ? _recursiveMerge(result[key], value) : value;

‎src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ function _merge(isClone: boolean, isRecursive: boolean, items: any[]) {
8585
continue
8686

8787
for (const key in item) {
88-
if (key === '__proto__') continue
88+
if (key === '__proto__' || key === 'constructor' || key === 'prototype') continue
8989
const value = isClone ? clone(item[key]) : item[key]
9090
result[key] = isRecursive ? _recursiveMerge(result[key], value) : value
9191
}

0 commit comments

Comments
 (0)
Please sign in to comment.