summaryrefslogtreecommitdiff
path: root/src/mbgl/style/conversion/filter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/conversion/filter.cpp')
-rw-r--r--src/mbgl/style/conversion/filter.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mbgl/style/conversion/filter.cpp b/src/mbgl/style/conversion/filter.cpp
index 4e8d9c48e5..1b77985322 100644
--- a/src/mbgl/style/conversion/filter.cpp
+++ b/src/mbgl/style/conversion/filter.cpp
@@ -195,11 +195,16 @@ ParseResult convertLegacyFilter(const Convertible& values, Error& error) {
return {std::make_unique<Literal>(true)};
}
+ if (!isArray(values) || arrayLength(values) == 0) {
+ error.message = "filter value must be a non empty array";
+ return nullopt;
+ }
+
optional<std::string> op = toString(arrayMember(values, 0));
if (!op) {
error.message = "filter operator must be a string";
- return {};
+ return nullopt;
} else if (arrayLength(values) <= 1) {
return {std::make_unique<Literal>(*op != "any")};
} else {