HDF5Objects: Don't use variable-length stack array
This commit is contained in:
@@ -665,9 +665,9 @@ std::unique_ptr<HDF5DataSet> HDF5Object::SaveVector(const std::string &name, con
|
||||
HDF5DataSpace data_space({val.size()});
|
||||
auto dataset = std::make_unique<HDF5DataSet>(*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<char> 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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user