summaryrefslogtreecommitdiff
path: root/src/mongo/util/options_parser/options_parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/util/options_parser/options_parser.cpp')
-rw-r--r--src/mongo/util/options_parser/options_parser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/util/options_parser/options_parser.cpp b/src/mongo/util/options_parser/options_parser.cpp
index 5d03910a390..63bf184ec85 100644
--- a/src/mongo/util/options_parser/options_parser.cpp
+++ b/src/mongo/util/options_parser/options_parser.cpp
@@ -341,6 +341,11 @@ Status YAMLNodeToValue(const YAML::Node& YAMLNode,
return Status::OK();
}
+ if (!YAMLNode.IsScalar() && !YAMLNode.IsNull()) {
+ return Status(ErrorCodes::BadValue,
+ str::stream() << "Scalar option '" << key << "' must be a single value");
+ }
+
// Our YAML parser reads everything as a string, so we need to parse it ourselves.
std::string stringVal = YAMLNode.Scalar();
return stringToValue(stringVal, type, key, value);