From bf4c7340f32c1e673e6a37b91fc65305757f52d1 Mon Sep 17 00:00:00 2001 From: zmiao Date: Tue, 7 Apr 2020 16:30:30 +0300 Subject: [build] Fix undefined behavour sanitizer (#16375) * [build] Fix integer overflow runtime error for core part Temporarily remove circle ci UBSAN build precondition * [build] Enable all of the ubsans [build] Check runtime error [build] Update UBSAN_OPTION * [build] Add UBSAN blacklist [build] Ignore system libraries [build] Ignore vendor library * [build] Fix implicit conversion runtime error in core * [build] Fix division by zero runtime error * [build] Add unfixed error to ubsan blacklist * [build] Make UBSAN halt on error Revert "Temporary remove build precondition" * [build] Fix division by zero error * [build] Make UBSAN officially work without FIXME prefix * [build] Fix implicit conversion from int64_t to uint64_t * [build] Rename style test json file name * Address review findings --- src/mbgl/util/tiny_sdf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/mbgl/util/tiny_sdf.cpp') diff --git a/src/mbgl/util/tiny_sdf.cpp b/src/mbgl/util/tiny_sdf.cpp index 6edcd83bc2..a71d04386f 100644 --- a/src/mbgl/util/tiny_sdf.cpp +++ b/src/mbgl/util/tiny_sdf.cpp @@ -35,7 +35,7 @@ void edt1d(std::vector& f, for (uint32_t q = 0, k = 0; q < n; q++) { while (z[k + 1] < q) k++; - d[q] = (q - v[k]) * (q - v[k]) + f[v[k]]; + d[q] = (static_cast(q) - v[k]) * (static_cast(q) - v[k]) + f[v[k]]; } } -- cgit v1.2.1