diff --git a/DESCRIPTION b/DESCRIPTION index 91d4772345..1e03b7fc36 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: tiledb Type: Package -Version: 0.20.1 +Version: 0.20.1.1 Title: Universal Storage Engine for Sparse and Dense Multidimensional Arrays Authors@R: c(person("TileDB, Inc.", role = c("aut", "cph")), person("Dirk", "Eddelbuettel", email = "dirk@tiledb.com", role = "cre")) diff --git a/NEWS.md b/NEWS.md index 9e3e5c0cef..1354029d7c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,10 @@ +# tiledb - ongoing development + +## Improvements + +* The column buffer allocation is now robust to container overflow sanitizer checks (#574) + + # tilebd 0.20.1 * This release of the R package builds against [TileDB 2.16.0](https://github.com/TileDB-Inc/TileDB/releases/tag/2.16.0), and has also been tested against earlier releases as well as the development version diff --git a/src/column_buffer.cpp b/src/column_buffer.cpp index a31bb4a16c..6da9154e2e 100644 --- a/src/column_buffer.cpp +++ b/src/column_buffer.cpp @@ -139,12 +139,12 @@ ColumnBuffer::ColumnBuffer( // Call reserve() to allocate memory without initializing the contents. // This reduce the time to allocate the buffer and reduces the // resident memory footprint of the buffer. - data_.reserve(num_bytes); + data_.resize(num_bytes); if (is_var_) { - offsets_.reserve(num_cells + 1); // extra offset for arrow + offsets_.resize(num_cells + 1); // extra offset for arrow } if (is_nullable_) { - validity_.reserve(num_cells); + validity_.resize(num_cells); } }