Merge pull request from GHSA-xqp8-w826-hh6x
* Added a test case that triggers the query parameter crash * rest.js: validate the explain parameter to keep the nodejs driver from throwing an uncatchable exception and crashing the server (see https://jira.mongodb.org/browse/NODE-3463) RestQuery.js: Check whether explain mode is enabled not by "!== true", but by the "!" operator. explain can have string values. Added tests that validate correct behaviour on different explain values * Refactor the new tests * Simplify the new tests Also do a sanity check on the explain results * Test refactor * Exclude queryPlannerExtended as it is not supported by the testing environment Simplifies the tests * Restrict the changes to mongodb Moved the verification of the explain value from rest.js to MongoStorageAdapter.js Also restricted the relevant unit tests to mongodb * Added changelog entry * reformat changelog entry * Update CHANGELOG.md Co-authored-by: Kartal Kaan Bozdoğan <kartalkaanbozdogan@gmail.com> Co-authored-by: Manuel <5673677+mtrezza@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
1e0d408ca3
commit
308668c894
@@ -657,7 +657,7 @@ RestQuery.prototype.runFind = function (options = {}) {
|
||||
return this.config.database
|
||||
.find(this.className, this.restWhere, findOptions, this.auth)
|
||||
.then(results => {
|
||||
if (this.className === '_User' && findOptions.explain !== true) {
|
||||
if (this.className === '_User' && !findOptions.explain) {
|
||||
for (var result of results) {
|
||||
cleanResultAuthData(result);
|
||||
}
|
||||
@@ -866,7 +866,7 @@ function includePath(config, auth, response, path, restOptions = {}) {
|
||||
return set;
|
||||
}
|
||||
}
|
||||
if (i == (keyPath.length - 1)) {
|
||||
if (i == keyPath.length - 1) {
|
||||
set.add(keyPath[i]);
|
||||
}
|
||||
return set;
|
||||
|
||||
Reference in New Issue
Block a user