summaryrefslogtreecommitdiff
path: root/src/mbgl/layout/symbol_layout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/layout/symbol_layout.cpp')
-rw-r--r--src/mbgl/layout/symbol_layout.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp
index 0a1c3c4fbd..d996041ebe 100644
--- a/src/mbgl/layout/symbol_layout.cpp
+++ b/src/mbgl/layout/symbol_layout.cpp
@@ -738,10 +738,12 @@ std::vector<float> SymbolLayout::calculateTileDistances(const GeometryCoordinate
sumForwardLength += util::dist<float>(line[i + 1], line[i]);
}
}
- for (std::size_t i = ++segment; i-- > 0;) {
+ for (std::size_t i = segment;; --i) {
tileDistances[i] = sumBackwardLength;
if (i != 0u) {
sumBackwardLength += util::dist<float>(line[i - 1], line[i]);
+ } else {
+ break; // Add break to avoid unsigned integer overflow when i==0
}
}
}