From 0c6bce2819c688bb8d7fb3cff02c10d4e218d0fe Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Wed, 4 May 2016 10:12:15 -0700 Subject: [PATCH] [core] consistently protect against invalid tag encoding in vector tile --- src/mbgl/tile/vector_tile.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mbgl/tile/vector_tile.cpp b/src/mbgl/tile/vector_tile.cpp index aedb70389..25314c114 100644 --- a/src/mbgl/tile/vector_tile.cpp +++ b/src/mbgl/tile/vector_tile.cpp @@ -96,6 +96,9 @@ std::unordered_map VectorTileFeature::getProperties() const { const auto & end_itr = tags_iter.second; while (start_itr != end_itr) { uint32_t tag_key = static_cast(*start_itr++); + if (start_itr == end_itr) { + throw std::runtime_error("uneven number of feature tag ids"); + } uint32_t tag_val = static_cast(*start_itr++); properties[layer.keys.at(tag_key)] = layer.values.at(tag_val); }