diff options
Diffstat (limited to 'src/mongo/s/commands/commands_public.cpp')
-rw-r--r-- | src/mongo/s/commands/commands_public.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/s/commands/commands_public.cpp b/src/mongo/s/commands/commands_public.cpp index 6215e4f1e4e..c5e7f38b67c 100644 --- a/src/mongo/s/commands/commands_public.cpp +++ b/src/mongo/s/commands/commands_public.cpp @@ -86,6 +86,10 @@ bool cursorCommandPassthrough(OperationContext* txn, int options, BSONObjBuilder* out) { const auto shard = grid.shardRegistry()->getShard(txn, conf->getPrimaryId()); + if (!shard) { + return Command::appendCommandStatus( + *out, {ErrorCodes::ShardNotFound, "failed to find a valid shard"}); + } ScopedDbConnection conn(shard->getConnString()); auto cursor = conn->query(str::stream() << conf->name() << ".$cmd", cmdObj, |