HDF5Objects: Don't use variable-length stack array

This commit is contained in:
2026-04-16 08:00:29 +02:00
parent e2586a5ba1
commit 39a7024274
+3 -3
View File
@@ -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;
}