diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp index 808bb5a0f01e..be8276103031 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp @@ -62,8 +62,15 @@ inline std::vector get_g1_data(const std::file vinfo("using cached crs at: ", path); auto data = read_file(path / "g1.dat"); auto points = std::vector(num_points); + + auto size_of_points_in_bytes = num_points * 64; + if (data.size() < size_of_points_in_bytes) { + vinfo("data is smaller than expected!", data.size(), size_of_points_in_bytes); + } + size_t actual_buffer_size = std::min(data.size(), size_of_points_in_bytes); + barretenberg::srs::IO::read_affine_elements_from_buffer( - points.data(), (char*)data.data(), num_points * 64); + points.data(), (char*)data.data(), actual_buffer_size); return points; }