diff --git a/writer/HDF5Objects.cpp b/writer/HDF5Objects.cpp index 9446e0d9..efecd72c 100644 --- a/writer/HDF5Objects.cpp +++ b/writer/HDF5Objects.cpp @@ -665,9 +665,9 @@ std::unique_ptr HDF5Object::SaveVector(const std::string &name, con HDF5DataSpace data_space({val.size()}); auto dataset = std::make_unique(*this, name, data_type, data_space, dcpl); - char buffer[(len+1) * val.size()]; - for (int i = 0; i < val.size(); i++) strncpy(buffer + i * (len+1), val[i].c_str(), len+1); - dataset->Write(data_type, buffer); + std::vector buffer((len + 1) * val.size(), '\0'); + for (int i = 0; i < val.size(); i++) strncpy(buffer.data() + i * (len+1), val[i].c_str(), len+1); + dataset->Write(data_type, buffer.data()); return dataset; }