From fc2465561823f65124f3864d739bc1c570fb95ac Mon Sep 17 00:00:00 2001 From: Sanhaoji2 Date: Mon, 10 Aug 2026 20:37:14 +0800 Subject: [PATCH] Fix bitmask label file size overflow Promote the point count to size_t before calculating the bitmask payload size so large valid label files are not rejected. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/label_helper.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/label_helper.cpp b/src/label_helper.cpp index eee7fe5a5a..5875af6356 100644 --- a/src/label_helper.cpp +++ b/src/label_helper.cpp @@ -162,7 +162,8 @@ bool label_helper::read_bitmask_from_file(const std::string& bitmask_label_file, infile.read((char *)(&num_points_in_file), sizeof(std::uint32_t)); infile.read((char *)(&bitmask_size), sizeof(std::uint32_t)); - size_t bitmask_data_size = num_points_in_file * bitmask_size * sizeof(std::uint64_t); + size_t bitmask_data_size = + static_cast(num_points_in_file) * bitmask_size * sizeof(std::uint64_t); if (file_size != (sizeof(std::uint32_t) * 2 + bitmask_data_size)) { return false;