From 5362a48117801f7255f65e2ecb48c36583957a71 Mon Sep 17 00:00:00 2001 From: Jia Fu Low Date: Sat, 22 Nov 2025 15:43:36 +0800 Subject: [PATCH] Fix incorrect pointer increment in LasZipper::compress() function --- src/laszipper.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/laszipper.cpp b/src/laszipper.cpp index 5bf912c..f7d5b39 100644 --- a/src/laszipper.cpp +++ b/src/laszipper.cpp @@ -76,7 +76,6 @@ size_t LasZipper::compress(py::buffer &buffer) while (num_points_in_buffer != 0) { m_is.seekp(0); - m_is.seekg(0); py::ssize_t num_points_for_this_iter = std::min(num_points_in_buffer, max_points_before_filling_stream); @@ -84,6 +83,8 @@ size_t LasZipper::compress(py::buffer &buffer) num_points_for_this_iter * static_cast(m_header->point_data_record_length); m_is.write(in_ptr, num_bytes_for_this_iter); + m_is.seekg(0); + for (size_t i{0}; i < num_points_for_this_iter; ++i) { if (laszip_read_point(m_reader)) @@ -107,7 +108,7 @@ size_t LasZipper::compress(py::buffer &buffer) } } - in_ptr += num_points_for_this_iter; + in_ptr += num_bytes_for_this_iter; num_points_in_buffer -= num_points_for_this_iter; }