Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Commit d4ed8d1

Browse files
committed
[core] fix style parsing crash when a layer's paint property is not an object
1 parent f329420 commit d4ed8d1

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

src/mbgl/style/conversion/layer.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ optional<Error> setPaintProperties(Layer& layer, const Convertible& value) {
3838
if (!paintValue) {
3939
return {};
4040
}
41+
if (!isObject(*paintValue)) {
42+
return { { "paint must be an object" } };
43+
}
4144
return eachMember(*paintValue, [&] (const std::string& k, const Convertible& v) {
4245
return setPaintProperty(layer, k, v);
4346
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"default": {
3+
"log": [
4+
[1, "WARNING", "ParseStyle", "paint must be an object"]
5+
]
6+
}
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"version": 8,
3+
"layers": [{
4+
"id": "background",
5+
"type": "background",
6+
"paint": true
7+
}]
8+
}

0 commit comments

Comments
 (0)